2024. 5. 22. 00:50ㆍ보안/케이쉴드
- 소개
최근 널리 주목받고 있는 O.MG 케이블은 모양과 기능이 다른 USB 케이블과 비슷하지만 사용자 모르게 스크립트와 악성코드를 컴퓨터에 주입하는 은밀한 악성 장치입니다.
O.MG 케이블은 내부 회로 내에 BadUSB를 숨기고 오늘날 발견되는 다른 어떤 변종보다 기만적입니다. O.MG 케이블은 모든 악의적인 활동이 백그라운드에서 발생하는 동안 충전 및 데이터 전송과 같은 기능을 용이하게 할 수 있습니다.
O.MG 케이블은 원격 실행, 은폐, 포렌식 회피를 향상시키는 기능과 함께 은밀한 현장 사용을 위해 제작되었으며 동시에 툴링을 신속하게 변경할 수 있습니다. 하드웨어의 성능과 유연성은 데모 및 교육용으로도 적합합니다.
O.MG 케이블을 사용하면 페이로드 생성, 저장 또는 실행뿐만 아니라 거의 모든 기능을 무선으로 실행할 수 있습니다. 플래시를 깨끗하게 닦거나 O.MG 케이블을 무해한 상태로 전환하거나 O.MG 케이블을 "파손" 하여 더 이상 데이터를 전달하지 않도록 할 수 있습니다. O.MG 케이블에 액세스 포인트로 연결하거나 네트워크에 연결합니다.
조직 내에서는 USB&Cable 공격이 감지되지 않거나 중지될 경우, 호스트 컴퓨터의 보안 우회 사고, 권한 상승, DDoS 공격 또는 맬웨어 감염을 유발하는 명령이 무단으로 실행될 수 있으므로 USB 차단 소프트웨어와 같은 예방 조치가 필요합니다. 그렇지 않으면 전체 네트워크를 대상으로 퍼질 수 있기에 주의가 필요합니다.
- 기능
저희가 사용한 케이블은 USB-C 타입으로 DuckyScript를 사용한 키 입력 삽입, USB 하드웨어 키로거(추가 스토리지가 있는 추가 기능 옵션), USB-C 스마트폰 및 태블릿 키 입력 주입, WiFi를 통한 원격 액세스, 맞춤형 자폭, 대용량 페이로드를 위한 다중 스토리지 슬롯, 부팅 시 페이로드(플러그인 시 자동 배포), 지오펜싱(WiFi 신호에 의한 원격 트리거), 장거리 WiFi 트리거(2KM), 모든 웹 브라우저에서 제어, 간편한 웹 플래셔 설정 기능이 있습니다.
이 장치는 프로그래밍 경험이 거의 또는 전혀 없어도 쉽게 작성할 수 있는 Ducky Script라는 특수 스크립팅 언어를 사용합니다. Ducky Script는 간단한 문자열 명령을 사용하여 "duck"에게 입력할 내용을 알려줍니다.
키로거(keylogger)는 사용자의 키보드 이용 내역을 기록하고 공격자에게 전달하는 기능을 갖는 악성코드로서 사용자의 패스워드 해킹 등에 사용될 수 있어서 오늘날의 전자상거래 환경에서 큰 위협이 되고 있다. 키로거는 계정 탈취를 위한 다른 기법들과 비교했을 때, 많은 정보를 손쉽게 탈취할 수 있으며, 피해자가 알아차리기 어렵기 때문에, 공공장소와 같이 많은 사람들이 사용하는 공간에서는 피해가 커질 수 있다.
키로거 기능이 추가된 O.MG 장치가 있는 경우 웹 UI에 키로거를 위한 추가 탭이 표시됩니다. 키로깅을 성공적으로 하기 위해서는 로깅하려는 키보드와 키보드가 연결된 기기 사이에 물리적으로 O.MG 기기를 연결해야 합니다. O.MG 키로거 케이블은 분리형 케이블이 있는 키보드용으로 특별히 설계되었습니다. O.MG 어댑터는 영구 또는 분리 가능한 케이블이 있는 키보드용으로 설계되었습니다. 활성 끝은 USB 호스트에 연결해야 합니다.
Keylogger Edition은 표준 O.MG 케이블의 모든 기능을 유지하고 최대 650,000번의 키 입력을 저장할 수 있는 완전 수동 USB Keylogger를 추가합니다. O.MG 케이블용 키로거 에디션은 분리형 케이블이 있는 Full Speed USB 키보드에 사용하도록 특별히 제작되었습니다.
- USB-C 스마트폰 및 태블릿 키 입력 주입
O.MG 장치에 USB-C 스마트폰 및 태블릿 키스트로크 주입이 포함되어 있는 경우(기능 비교 표 참조) 스마트폰 또는 태블릿에 페이로드를 배포하는 것은 쉽습니다. 활성 USB-C 쪽만 스마트폰이나 태블릿에 연결합니다. 다른 단계는 필요하지 않으며 페이로드 전달은 호스트 공격과 마찬가지로 자동으로 작동합니다.
작동 원리
1. https://o-mg.github.io/WebFlasher/ Plug-In - First, connect the O.MG Programmer to your computer. Then plug the O.MG Cable/Adapter/Plug into the programmer.
2. Connect - Now click the Connect button below. Your browser will prompt you to select the programmer.
3. Flash – 케이블 있어야 확인 가능
위 3가지 과정이 끝나면 victim 컴퓨터에 usb 로고가 있는 부분을 연결시킵니다.
Attacker 컴퓨터에서 O.MG 와이파이를 연결합니다. P/W는 12345678로 설정되어 있습니다.
O.MG의 IP 주소를 찾아 접속을 합니다.
공격에 사용할 수 있는 예시 코드로 관리자의 권한을 획득하는 코드의 일부분입니다.
이러한 코드를 짜서 payload를 걸면 victim 컴퓨터에 공격이 이루어지게 됩니다.
자체 페이로드를 구성하는 방법에 대한 일반적인 아이디어를 제공하기 위해 웹 UI에 몇 가지 기본 예제 페이로드가 포함되어 있습니다. 예제 페이로드는 도움말 메뉴에서 찾을 수 있습니다. https://github.com/hak5/omg-payloads에 OMG 페이로드에 대한 공개 저장소도 있습니다. Hak5 / O.MG Discord 커뮤니티에는 회원들이 자체 페이로드 개발에 대한 팁과 트릭을 공유할 수 있는 채널도 있습니다. 페이로드는 웹 UI에서 직접 실행할 수 있습니다. 실행을 클릭하기만 하면 됩니다. 또한 O.MG 장치의 플래시 저장소 내부에 있는 여러 슬롯에 페이로드를 저장하고 로드할 수 있습니다.
- 추후 O.MG 사이트 혹은 공격이 이루어지는 영상 첨부 필요해보임
- 실험
실험한 것들 정리
wireshark, tcpview 로 잡은 패킷, tcp 공격자, 피해자 분석 및 정리
패킷 스니핑
데이터가 컴퓨터 네트워크를 통해 전송될 때, 발신자의 노드에서 데이터 패킷이라고 하는 더 작은 단위로 쪼개진 후 전송되며, 수신자의 노드에서 이를 받아 원래의 형태로 재조립하는 과정이 수행됩니다. 데이터 패킷은 컴퓨터 네트워크를 통해 전송되는 데이터의 가장 작은 통신 단위라고 할 수 있습니다. 컴퓨터 네트워크에서 데이터 패킷을 캡처하는 동작을 패킷 스니핑이라고 합니다. 이것은 원래 네트워크 성능을 모니터링하거나 네트워크 통신 문제를 해결하는기 위해서 합법적으로 사용되었습니다. 하지만 해커 또는 크래커는 침입하려는 네트워크에 대한 정보를 불법적으로 수집하기 위해 이 방법을 보편적으로 사용하고 있습니다.
패킷 스니핑은 패킷 스니퍼라는 소프트웨어 또는 장치를 사용하여 수행됩니다. 패킷 스니퍼를 사용하면 암호, IP 주소, 네트워크에서 사용중인 프로토콜 등 공격자가 네트워크에 침투하는데 도움이 될만한 정보를 캡처 할 수 있습니다. 패킷 스니퍼는 어떤 방식으로든 네트워크의 패킷을 수정하지 않고 스니핑하는 유틸리티입니다. 패킷 스니핑을 방지하려면 사용자가 보내거나 받는 데이터를 암호화해야 합니다. 사용자는 신뢰할 수있는 Wi-Fi 네트워크만 사용하고 정기적으로 네트워크에서 위험이나 문제를 검사해야 합니다.
공격 막는 방법
1. 특수 프로그램을 사용하여 타이핑 속도 모니터링
DuckHunter와 같은 특정 프로그램은 백그라운드에서 실행되고 타이핑 속도를 주시하도록 설계되었습니다. BadUSB 장치는 실제로 사람이 입력할 수 없는 속도로 입력하기 때문에 프로그램은 BadUSB 공격이 감지되면 키보드 입력을 효과적으로 차단합니다.
이 예방 방법을 사용할 때의 단점은 이러한 프로그램이 공격을 탐지하는 데 몇 밀리초가 걸린다는 것입니다. 페이로드의 길이에 따라 프로그램에 의해 차단되기 전에 여전히 대상 컴퓨터로 들어갈 수 있습니다.
https://konukoii.com/blog/2016/10/26/duckhunting-stopping-automated-keystroke-injection-attacks/
2. 키로거 보호 기능이 있는 백신 사용
백신들이 O.MG 케이블 키로깅도 잡아줄지 의문이지만 확인 해봐야 할 것으로 예상
https://www.safetydetectives.com/blog/best-antivirus-that-protects-against-keyloggers/
케이블 CPU
칩 : ESP8266, https://www.espressif.com/en/news/ESP32_S3
펌웨어 설치
1) Station
2) AP : 케이블을 통한 브로드캐스트가 되는 무선 네트워크(802.11) 연결 가능
- WIFI SSID, PASSWD 입력, Victim은 WIFI Hotspot 생성 -> 이를 통해 액세스하여 컨트롤
flash.py
Signal통해 EOF handler 추가
omg_init = {OS, PORT_PATH, WIFI, SSID, PASSWD, MODE, TYPE}
Baudrate = 115200bps 설정, 이후 스크립트 경로 설정
의존성 검사를 위해 해당 펌웨어 설치 PC(이하, PC_1)에 ‘script’ 디렉토리, ‘flashapi.py’,‘miniterm.py’ 있는지 체크
실질적인 File url을 위해 FIRMWARE_URL = "https://raw.githubusercontent.com/O-MG/O.MG_Cable-Firmware/%BRANCH%" 에 git branch + "/scripts/" + dependency(설치를 위한 Python 파일)로 GET 메소드로 의존성 문제 없음을 확인
PC_1의 OS 검사 후 omg_init 의 OS 값 변경
omg_locate() : omg cable 관련 파일 존재하는지 확인
ask_for_port() : 사용 가능한 COM PORT 검색 ==> 기본 세팅 완료
omg install mode 선택 (1. Firmware Upgrade > WIFI SSID, PASSWD, MODE 설정)
모든 기본 값을 설정하고 omg_flash에서 flashapi.py로 설치
아래의 링크로는 O.MG Cable을 사용하여 앱을 설치하고 셸로 접근하는 영상이다.
- https://www.youtube.com/watch?v=aBZEvnvPAtk
- https://shop.hak5.org/blogs/payloads/install-reverse-shell-apk : 리버스 쉘 apk
위 두 링크의 스크립트를 활용해 Msfvenom으로 작성된 Backdoor Apk를 설치한다.
https://github.com/Drew-Sec/OMG-Cable-Android-Script/blob/main/Gmail%20Forward%20Script/gmail_forward_script.txt : Gmail 스크립트
https://github.com/Drew-Sec/OMG-Cable-Android-Script/blob/main/Install%20APK%20Script/OMG_DuckyScript_Android_APK_Install : Api Install 스크립트
자세한 Backdoor Apk 활용은 아래의 링크를 참조한다.
- https://blog.nviso.eu/2020/08/31/backdooring-android-apps-for-dummies/
하지만, 악성 행위만 존재하는 APK는 아무런 기능이 없어 설치가 불가 하므로, 정상 작동하는 앱 위에 악성 페이로드를 심는 과정을 참고하였다.
https://jdh5202.tistory.com/711
제공되는 스크립트로만 사용해보는 것이 아닌 TOP 10 OWASP Mobile Risks에 대해서 실습해보면 좋을 것으로 예상된다.
또한, 모바일 앱 해킹 유형 및 보안 방법에 대해서 공부하며 보안 대책을 구상 해보는 것도 중요한 임무라 생각한다.
'보안 > 케이쉴드' 카테고리의 다른 글
WBS (0) | 2024.05.22 |
---|---|
현업자 특강 (0) | 2022.08.18 |
보고서 작성해보기 (작성중) (0) | 2022.08.15 |
TTPs 탐지 및 완화 (0) | 2022.08.12 |
심화과정 4일차 (실습해보기_어떤 약점이 있을랑고) (0) | 2022.08.08 |