안녕하세요? 허니입니다. 오늘은 사이버 해킹 프로그램 Terabit Virus Maker에 대해 소개해 드리겠습니다. 사이버 해킹에 대해 관심 있는 분들은 알아두면 좋을만한 자료 같습니다.

 

 요약정보
Terabit Virus Maker는 대표적인 티빗 바이러스 생성기로 트로이목마(Trojan Horse) 및 바이러스(Virus)를 자동으로 제작하여 주는 소프트웨어로 간단한 클릭만으로도 Virus 프로그램을 제작해 준다. 또한 Terabit Virus Maker는 아래 그림과 같이 파일 하나로 되어 있어서 사용하기도 편하다. 이 도구들의 지속적인 등장의 의미는 최신 취약점과 온라인 뱅킹, 개인정보절취, 카드절취, 피싱 등에 이용하겠다는 의도로도 해석을 해 볼 수 있다.

 

그림1  Terabit Virus Maker 실행파일

 

아래 그림은 Terabit Virus Maker 3.2 실행 화면이다.

 

그림2  Terabit Virus Maker 실행화면

 

 참고자료
http://melodicdark.blogspot.com/2013/11/membuat-virus-dengan-terabit.html

 

 기술동향
‘Terabit virus maker’의 가장 큰 위력은 트로이목마와 바이러스를 전문적인 지식이 없더라도 마우스 클릭만으로도 짧은 시간 내로 강력한 성능을 가진 트로이목마를 작성할 수 있다는 것이다. 또한 윈도우 방화벽 설정 무력화, 스팸과 같은 다양한 경로를 사용하여 널리 배포할 수도 있다. 아래 그림과 같이 VirusTotal에서 Terabit virus maker에서 생성된 파일 검사 결과를 보면 생성 파일에 탐지 비율이 90%로가 넘는 것으로 나와 있다.

 

그림3  VirusTotal에서 Terabit virus maker 파일 체크


 Terabit Virus Maker 옵션 설명
Terabit Virus Maker에는 40개 바이러스 옵션이 있으며 몇 가지 클릭만으로 쉽게 바이러스를 생성할 수 있다. Window 7 이상 버전에서는 많은 옵션들이 되지 않지만 바이러스 파일 실행 시 CPU와 메모리에 과부하가 걸리는 것을 확인하였다.

 

그림4  Terabit Virus Maker 옵션 목록

 

- Avoid Opening Calculator : 계산기 여는 것을 차단시킨다.
- Avoid Opening Copy, Move Window : 창을 복사하거나 위치를 옮기는 것을 차단시킨다.
- Avoid Opening Gpedit : gpedit.msc(로컬 그룹 정책 편집기) 여는 것을 차단시킨다.
- Avoid Opening Media Palyer : 윈도우 미디어 플레이어 여는 것을 막는다.
- Avoid Opening Mozilla Firefox : Mozilla Firefox (브라우저) 여는 것을 차단한다.
- Avoid Opening MsConfig : Ms Config (시스템 구성) 여는 것을 차단한다.
- Avoid Opening Notepad : 메모장 여는 것을 차단한다.
- Avoid Opening Wordpad : Wordpad 여는 것을 차단한다.
- Avoid Opening Yahoo Messenger : 야후 메신저 여는 것을 차단한다.
- Add 30 User Accounts to Windows : 30개의 유저 계정 추가한다.
- Always Clean Clipboard : 클립보드를 항상 없앤다.
- Always Log off : 항상 로그오프 시킨다.
- Close Internet Explorer Every 10 sec : 10초마다 모든 인터넷 익스플로러 창을 닫는다.
- Delete All Files In Desktop : 바탕화면에 있는 모든 파일을 지운다.
- Delete All Files In My Documents : 내 문서에 있는 모든 파일을 지운다.
- Delete Windows Fonts : 글꼴을 모두 지운다.
- Delete Windows Screen Savers : 화면 보호기를 모두 지운다.
- Disconnect From Internet : 인터넷 연결을 차단한다.
- Disable Automatic Updates : 윈도우 자동 업데이트를 차단한다.
- Disable Command Prompt : 명령 프롬포트(cmd)를 여는 것을 차단한다.
- Disable Printer : 프린터와 연결 못하게 한다.
- Disable Regedit : Regedit을 차단한다.
- Disable Screen Saver : 화면보호기가 실행되는 것을 차단한다.
- Disable System Restore : system restore을 차단한다.
- Disable Windows Firewall : 윈도우 방화벽을 차단한다.
- Disable Windows Installer : 윈도우 설치기를 차단한다.
- Disable Windows Security Center : 윈도우 보안센터를 차단한다.
- Disable Windows Security Essentials : Window Security Essentials를 차단한다.
- Disable Window Themes : 윈도우 테마를 차단한다.
- Formate All Hard Drives : 모든 하드 드라이브를 포맷한다.
- Funny Keyboard : 웃긴 키보드 (옵션 확인하지 못했다.)
- Funny Mouse : 웃긴 마우스 (옵션 확인하지 못했다.)
- Funny Start Button : 웃긴 시작버튼(옵션 확인하지 못했다.)
- Gradually Fill System Volume : 시스템 볼륨을 꽉 채운다.
- Hide Desktop Icons : 바탕화면 아이콘을 모두 숨긴다.
- Hide Folder Option Menu : 폴더 옵션 메뉴를 모두 가린다.
- Hide Taskbar : 작업 표시줄을 가린다.
- Lock All Drives, Folders : 모든 드라이브와 폴더를 잠근다.
- Lock Internet Explorer Option Menu : 인터넷 익스플로러 옵션메뉴를 잠근다.
- Mute System Volume : 시스템 볼륨을 음소거로 만든다. (0으로 만든다)
- Open/Close CD-ROM Every 10 sec : CD-ROM 을 10초마다 열었다가 닫는다.
- Play Beep Sound Every Sec : 본체 컴퓨터에서 “Beep” 소리를 1초마다 낸다.
- Remove Desktop Wallpaper : 배경화면 사진을 없앤다.
- Remove Run From Start Menu : 시작 메뉴에서 '실행' 버튼을 없앤다.
- Remove Start Button : 시작 메뉴를 없앤다.
- Remove Windows Clock : 작업표시줄의 시계를 없앤다.
- Slow Down PC Speed : 컴퓨터의 속도를 줄인다.
- Spread with Folders : 폴더로 바탕화면을 도배한다.
- Stop SQL Server : SQL 서버를 멈춘다.
- Swap Mouse Buttons : 마우스 버튼 좌우를 바꾼다.
- Transparent Explorer Windows : 파일 탐색기 창을 투명하게 만든다.
- Turn off Computer After 5 min : 5분후에 컴퓨터를 끈다.
- Turn off Monitor : 모니터를 끈다.

 


그림5  왼쪽 옵션메뉴


옵션 메뉴에서는 만들고 싶은 바이러스를 쉽게 만들 수 있다. 또한 왼쪽 옵션메뉴를 통해 fake error message, Run Custom Command 등 가짜 Error 메시지와 가짜 파일 크기 표시 등 Terabit virus maker가 제공하는 옵션 내에서 사용자가 원하는 바이러스를 만들 수 있다. 특히 가짜 파일 크기 표시에서는 실제 용량이 35kb라도 원하는 값을 넣으면 파일 크기를 크게 할 수도 작게 할 수도 있다. File name after install은 바이러스의 파일 이름과 확장자를 선택할 수 있다. 원하는 옵션을 모두 선택한 후에는 create virus 는 바이러스 생성 버튼을 클릭하면 원하는 바이러스가 생성된다. 아래 그림은 File name after install에서 원하는 아이콘과 파일 이름을 정해서 바이러스 생성 파일을 만든 화면이다.

 

그림6  Create Virus 클릭 후 화면

 


그림7  바탕화면에 나타난 Hello.exe 파일

안녕하세요? 허니입니다. SQL Injection 취약점에 대해서 알아보고 대응 방법에 대해 알아보도록 하겠습니다. 사이버 해킹에 대해 공부하시는 학생이나 연구원 분이 계시면 도움이 될 것이라 생각합니다.


대부분의 웹 사이트들은 사용자로부터 입력 받은 값을 이용해 데이터베이스 접근을 위한 SQL-Query를 사용하고 있습니다. 사용자 로그인 과정을 예로 들면, 사용자가 유효한 계정과 패스워드를 입력했는지 확인하기 위해 사용자 계정과 패스워드에 관한 SQL Query문을 사용하게 되며 이때 SQL Injection 기법을 통해서 정상적인 SQL Query를 변조할 수 있도록 조작된 사용자 이름과 패스워드를 보내 정상적인 동작을 방해할 수 있습니다. 이러한 비정상적인 SQL Query를 이용해 다음과 같은 공격이 가능합니다.

 

- 사용자 인증을 비정상적으로 통과 가능
- 데이터베이스에 저장된 데이터를 임의로 열람, 삽입, 수정, 삭제 가능
- 데이터베이스의 시스템 명령을 이용하여 시스템 조작 가능

 

이러한 취약점을 SQL Injection 취약점이라고 하며, DBMS와 연동된 웹 페이지상에 취약점이 존재합니다.

 

 일반적인 대응방법
데이터베이스와 연동이 되는 SQL 쿼리 구문의 모든 파라미터를 필터링하여 사용자의 입력 값이 SQL 쿼리에 직접 입력되지 않도록 수정합니다. 사용자 입력이 SQL injection을 발생시키지 않도록 사용자 입력 시 특수문자(' " / \ ; : Space -- +등)가 포함되어 있는지 검사하여 허용되지 않은 문자열이나 문자가 포함된 경우에는 에러로 처리합니다. SQL 서버의 에러 메시지를 사용자에게 보여주지 않도록 설정한다. 공격자는 리턴 되는 에러 메시지에 대한 분석을 통하여 공격에 성공할 수 있는 SQL Injection 구문을 작성할 수 있습니다. 따라서 SQL 서버의 에러 메시지를 노출하지 않도록 합니다. 웹 애플리케이션이 사용하는 데이터베이스 사용자의 권한을 제한합니다. 가능하면 일반 사용자 권한으로는 모든 system stored procedures에 접근하지 못하도록 하여 웹 애플리케이션의 SQL Injection 취약점을 이용하여 데이터베이스 전체에 대한 제어권을 얻거나 데이터베이스를 운용 중인 서버에 대한 접근이 불가능하도록 합니다.

 

 개발 언어별 대응방법
사용자로부터 입력 받은 변수로 SQL 쿼리 구문을 생성하는 CGI는 입력 받은 변수를 체크하거나 변경하는 로직을 포함하고 있어야 합니다. 입력 받은 변수와 데이터 베이스 필드의 데이터 형을 일치 시켜야 하고, 사용 중인 SQL 구문을 변경시킬 수 있는 특수문자가 포함되어 있는지 체크해야 합니다. 검색 부분과 같이 클라이언트로부터 생성된 SQL 구문을 받는 부분이 있다면 이를 제거해야 합니다.

 

 보안코딩(ASP)

prodId = Request.QueryString("productId")
prodId = replace(prodId, "'", "''")' 특수문자 제거
prodId = replace(prodId, ";", "")
set conn = server.createObject("ADODB.Connection")
set rs = server.createObject("ADODB.Recordset")
query = "select prodName from products where id = " & prodId
conn.Open "Provider=SQLOLEDB; Data Source=(local);
Initial Catalog=productDB; User Id=dbid; Password="
rs.activeConnection = conn
rs.open query
If not rs.eof Then
response.write "제품명" & rs.fields("prodName").value
Else
response.write "제품이 없습니다"
End If

 

 보안코딩( php)

php.ini 설정 변경 / php.ini 설정 중 magic_quotes_gpc 값을 On으로 설정.

; Magic quotes
;

; Magic quotes for incoming GET/POST/Cookie data
magic_quotes_gpc = ON ; Off에서 On으로 변경한다.

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off

;Use Sybase-style magic quotes (escape ' with " instead of \').
magic_quotes_sybase = Off

 

addslashes() 함수 사용
사용자가 입력하는 값들($_GET, $_POST)을 모두 addslashes() 함수를 이용하여 처리할 수 있도록 함.

addsIshes()
용도 : DB Query와 같이 인용된 부분 앞에 역슬래쉬를 붙여서 반환합니다. 해당문자에는 작은 따옴표, 큰 따옴표, 역슬래쉬, NULL이 있다.
- 적용 가능한 PHP : PHP 3 이상

$query = sprintf("SELECT id,password, username FROM user_table WHERE id='%s';", addslashes($id)); // id변수를 문자형으로 받고, id변수의 특수문자를 일반문자로 변환한다.

// @ 로 php 에러 메시지를 막는다.
$result = @OCIParse($conn, $query);
if (!@OCIExecute($result))
error("SQL 구문 에러");
exit;
@OCIFetchInto($result,&$rows);

 

 보안코딩(JSP)

String sql = "SELECT * FROM user_table" + " WHERE id = ?" + " AND password = ?";
ResultSet rs = null;
PreparedStatement pstmt = null;
try
conn = DBManager.getConnection();
pstmt = conn.prepareStatement(sql);

pstmt.setString(1, request.getParameter("id"));
pstmt.setString(2, request.getParameter("password"));

rs = pstmt.executeQuery();

 

 

안녕하세요? 허니입니다. 요즘은 정보기관 및 기업의 전산망에 조직적으로 침투, 혼란을 유발하는 사이버 해킹의 위험성에 대해 전 세계적으로 우려의 목소리가 커지고 있다고 합니다. 최근 들어 적발된 사이버 침투 사례를 분석한 결과 그 유형이 체계적일 뿐만 아니라 광범위해져 특정 기업이나 국가 정보기관에 대한 본격적인 공격일 가능성이 높다고 판단되어지고 있습니다. 실질적으로 정보기관의 전산망에 조직적으로 침투하는 사이버 안보 침해 사례가 생기면서 사실상 사이버 전쟁을 치르고 있다고 생각하시면 되세요. 일단, 해킹의 가장 기본적인 해킹인 Footprint와 SCAN에 대해 말해 볼까 하는데 이 기법은 책이나 인터넷에 더 많은 정보들이 있습니다.

 

저는 간단히 소개 정도로만 하겠습니다. 더 궁금하신 내용이 있으시면 댓글 남겨주세요.

 

 * FOOTPRINT

Footprint란 단어는 ‘발자국’이라는 뜻으로 사이버 해킹에서는 ‘해킹 시도 전에 원하는 대상의 관련 정보를 수집하는 작업’이라는 뜻으로 사용하고 있습니다.  침투 시도 대상의 관련 정보를 수집하는 사전 작업으로 보안상 취약점, 도메인 이름(Domain Name), 네트워크 블록(Network Blocks), 인터넷을 통해 접속 가능한 시스템의 특정 IP 주소, 침입탐지 시스템 설치 여부, 사용자 목록, 시스템의 하드웨어 사양, 사용 중인 네트워크 프로토콜, 접속제어 메커니즘과 관련 접속 제어 리스트 등 알아볼 수 있습니다.

 

 

풋프린트는 기술적인 해킹에 의한 방법이 아닌, 개인적인 인간관계나 업무적 관계 등을 이용하는 등 사회 공학적 기법입니다. 예를 들면 회사에서는 웹 사이트의 관리자 계정과 사원들의 계정을 어깨너머 훔쳐보듯 알아보는 방법과 Facebook, 트위터 등 친구 관계를 설정하고 게시물을 구독하며 해킹 대상이 남긴 글(예: “컴퓨터 방화벽이 고장 났다!”)을 로그에 남기는 방법이 있습니다. 풋프린트은 고전적이면서도 컴퓨터 해킹에 꼭 필요한 단계입니다. 적을 알아야 백전백승한다는 말이 있습니다. 해킹의 세계에도 조그만 한 것들이 전부 필요한 정보입니다

 * SCAN

스캔은 서비스를 제공하는 서버의 작동여부와 제공하는 있는 서비스를 확인하기 위한 과정으로 TCP 기반의 프로토콜의 경우는 기본적으로 질의(Request)를 보내면 응답(Respones)을 보내고, 기본적인 메커니즘을 기반으로 하는 것으로 열러있는 포트, 운영체제의 버전, 취약점 등 다양한 정보를 얻어내는 데에 유용하다고 합니다.

 

ICMP의 유틸리티 Ping을 이용한 스캔
 
ICMP(Internet Control Messaging Protocol)의 유틸리티 핑(Ping)을 이용한 스캔(SCAN)은 네트워크와 시스템이 정상적으로 작동하는지 확인하고 기본적으로는 TCP/IP 네트워크에서 사용합니다. 리눅스에서도 똑같은 방법으로 가능합니다.

UDP 스캔
 
TCP 스캔

TCP와 UDP를 이용한 스캔은 시스템 자체 활성화 여부가 아닌 포트(Port) 스캔을 하는 것으로 TCP 프로토콜은 기본적으로 3 Way-Handshaking을 이용한 스캔이고, UDP 는 포트가 닫혀 있는 경우 ICMP Unreachable 패킷(packet)을 보내지만, 열려 있을 경우 아무런 응답이 없습니다.
 - 3 way-handshaking: 특정 네트워크에서 두개의 컴퓨터가 TCP 프로토콜을 사용하여 통신을 하려면 3방향 핸드쉐이크를 해야하며 이 과정은 전화통화랑 매우 비슷합니다. 전화통화를 위해 수화기를 들고 전화를 걸면 받는 사람은 누가 전화하지 못하고 응답을 하게 되고 전화를 건 사람은 자기 소개를 하게 됩니다. 그 다음 전화 받은 사람은 전화를 건 사람을 알 수 있고 이로써 3 way-handshaking이 완료 되었습니다.
 - ICMP: 인터넷 환경에서 오류에 관한 처리를 지원하는 용도로 사용되며, IP 패킷의 데이터 부분에 캡슐화되어 송신 호스트에게 전달하고 TCP/IP 기반의 통신망에서 전송 과정에 문제가 발생하면 라우터에 의해 ICMP 메시지가 자동으로 발생하여 패킷 송신 호스트에게 전달합니다.

  


스텔스(Stealth) 스캔

 

스텔스(Stealth) 스캔은 세션을 완전히 성립치 않고 공격대상 시스템의 포트 활성화 여부를 알아내기 때문에 로그 정보가 남지 않습니다. 따라서 어떤 IP를 가진 공격자가 자신의 시스템을 스캔하였는지 알 수가 없습니다. 대표적인 스텔스 스캔은 TCP Half Open 스캔이 있습니다. 이 스캔은 SYN 스캔이라고 부르는 상식으로 완전한 세션을 성립하지 않고 SYN 패킷만을 이용해 열린 포트를 확인하는 스캔 방식입니다.

  

풋프린트(Footprint)와 스캔(SCAN)에 대해 알아보았는데^^

제 글을 악의적인 의도로 이용 후 받는 불이익은 절대 책임지지 않습니다. 또한 제가 잘못된 정보를 글에 남겼다면 알려주시면 너무 감사합니다.

안녕하세요? IT세계 허니입니다. 오늘은 해킹의 유형 스니핑(sniffing)과 스푸핑(spoofing) 기법에 대해 포스팅 하려고 합니다.

아래 내용 이외에도 더 궁금하신 내용이 있으시면 댓글 남겨주세요. 

 

트워크 분석에 있어 스니핑과 스푸핑은 많이 쓰여지고 있습니다. 스니핑은 오고가는 패킷을 분석하는 방법을 말하며, 스푸핑은 오지 못하는 패킷을 의도적으로 자신을 경유하게끔 하는 방법을 말하는데 이해가 잘 안 되시는 부분이 있으시면 댓글 달아주세요.

 

일단 스니핑에 대해서 설명하면,

 

가) 허브환경에서의 스니핑

허브(Hub)는 들어온 패킷에 대해 피킷이 들어온 포트를 제외한 모든 포트에 대해 패킷을 보내는 리파터 장비로서, 기업이나 국가기관에서 허브를 사용하고 있고 시스템에 연결되어 있으면 원하던 원치 않던 간에 계속해서 다른 사람들의 패킷들을 받아보고 있다는데...

 

나) 스위치 환경에서의 스니핑

스위치 환경에서의 스니핑은 여러 가지가 있으며 대표적인 스니핑인 Switch Jamming은 실제 수신 대상으로만 패킷을 보내는 브리지 장비로 엉뚱한 MAC 주소를 가진 패킷을 계속하여 보냄으로써 스위치가 허브처럼 동작하도록 만들 수 있다고 합니다. 많은 종류의 스위치가 주소 테이블이 가득 차게 되었을 때 패킷을 모든 포트로 브로드캐스팅 하는성질을 이용한 것으로 그 외에도 ARP Redirect, ICMP Redirect, ICMP Router Advertisement 등이 있다고 하네요.

 

 

스푸핑의 종류를 보면,

 

가) IP 스푸핑

IP 정보를 속여 다른 시스템을 공격하는 것으로, 서비스 거부 공격 등 공격대상 컴퓨터와 서버 사이의 연결된 세션에 대해서 세션 끊기도 가능하다고 하는데... 무섭네요.ㅠ

 

 

나) DNS 스푸핑

도메인 네임 시스템에서 전달되는 IP 주소를 변조하거나 도메인 네임 시스템의 서버를 장악하여 사용자가 의도하지 않은 주소로 접속하게 만드는 공격방법으로 이것저것 하다가 이상한 사이트로....컼

 

다) ARP 스푸핑

근거리 통신망(LAN) 하에서 주소 결정 프로토콜(ARP) 메시지를 이용하여 상대방의 데이터 패킷을 중간에서 가로채는 중간자 공격 기법이다. 우회된 트랙픽으로부터 해커는 패스워드 정보 등 유용한 정보를 마음껏 획득할 수 있다고 합니다.

 

라) E-mail 스푸핑

이메일 발송 시 송신자의 주소를 위조하는 방법으로 대량의 스팸 메일과 바이러스 감염 메일은 송신자의 주소가 존재하지 않는 이메일 주소를 많이 이용하며 또한 중계 서버를 이용하기 때문에 발송한 자를 추적하기 힘들다는 점에서 무서운 해킹 방법입니다.

 

스니핑(sniffing)과 스푸핑(spoofing) 기법에 대해 알아보았는데 제 포스팅을 악의적인 의도로 이용 후 받는 불이익은 절대 책임지지 않습니다. 또한 제가 잘못된 정보를 글에 남겼다면 알려주시면 너무 감사합니다.

안녕하세요? 허니입니다.
지금 현재 랜섬웨이 공격으로 전세계적으로 난리인데
우리나라처럼 스마트폰을 많이 쓰는데서는 랜섬웨이 공격을 어떻게 방지할까요?ㅠ

저는 PC에서의 랜섬웨어 공격 방지법은 많은 사람들이 포스팅을 하기 때문에 URL로 대체할깨요!

본 포스팅에서는 내 스마트폰은 랜섬웨이로부터 어떻게 보호하나 생각을 해 보았습니다.
유통경로는 기존 스미싱과 동일할꺼 같습니다.
1. 이메일 또는 첨부메일
2. 문자메시지나 SNS 등에 포함된 URL

그렇다면 예방요령은?
첫째, 공식 마켓 외 출처에서 앱 다운로드 하지 마세요.
둘째, 공식 마켓에서 앱 다운 받기전에 앱 평판정보를 확인!
셋째, 설정 > 보안메뉴에서 "알수 없는 출처" 의 허용 금지 설정
넷째, 스미싱을 조심(특히 URL)
다섯째, 모바일 전용 보안 앱이나 스미싱 탐지 앱 등 설치 후 실행.
마지막으로, 연락처 사진 동영상 중요문서 등 파일은 백업.


위 사항만 잘 지켜주면 랜섬웨이 공격을 방지할수 있습니다. 다들 철통 보안!

참고사항으로 최근 랜섬웨이 공격은 윈도우 운영체제의 취약점을 악용해서 일어난 사례로 과거에도 랜섬웨이 공격은 있었습니다!




+ Recent posts