보안뉴스
“걷잡을 수 없는 공격” 익스플로잇 체인이 위험한 이유 - ITWorld Korea
익스플로잇 체인: 여러 취약점을 묶어 표적을 침해하는 사이버 공격-> 단일 공격 지점 초점 보다 성공 확률 높 음& 표적 더 큰 영향. 공격자가 여러 방어 체계를 우회해 정상 시스템 프로세스의 취약점을 이용해 기업 내부 환경 침입을 도움
목적 -> 공격 실행을 위한 엑세스 권한 획득
MS 익스체인지 서버 통해 색다른 BEC 공격 실시하는 공격자들
https://www.boannews.com/media/view.asp?idx=102641&kind=
솔라윈즈 (SolarWinds) 공격: 대표적인 사례. 하나의 취약점을 패치하거나 공급망 백도어를 안전하게 만드는 것으로는 방어 불가. 해커-> ‘개념증명’ 익스플로잇 이용, 완화되지 않은 알려진 취약점 이용해 소프트웨어 공급망의 핵심 계층 취약점을 공격, 권한 상승 APT 개발.
모바일 기기를 표적으로 삼는 익스플로잇 체인: 전통적인 컴퓨팅 기기가 표적-> 인간의 행동과 기기 사용 방식에 따라 틈 발생 경우 존재. 스마트폰 아키텍처 특성상 모바일 악성코드가 제 역할을 하려면 여러 취약점을 이용해 루트 엑세스 권한을 획득해야-> 다수 침입자 표적 기기의 경계 안으로 침입한 이후 측면 이동 • 파워셀 이용-> 다른 익스플로잇을 이용한 권한 상승 필요
브라우저를 표적으로 삼는 익스플로잇 체인: 피싱 이메일로 웹페이지 방문 유도-> 드라이브 바이 다운로드로 브라우저 취약점 공격-> 두 번째 취약점을 묶어 샌드박스 탈출-> 상승된 권한 획득->네트워크 침투 & 특정 시스템 힘입 위한 취약점 악용 시도
익스플로잇 체인을 이용해 중심점을 만든 후 시스템 네트워크 곳곳을 돌아다닌다.
룩아웃 발표 보고서-> 중국 위구르 민족 대상 안드로이드 감시 도구 활용 사례
안드로이드 생태계에서 처음으로 발견되는 감시 도구들-> 2013년 부터 사용 예상, 위구르족을 감시하기 위해 만들어진 것으로 분석. 공격자들은 중국의 APT 단체인 그레프로 추정.
https://www.boannews.com/media/view.asp?idx=89483&kind=
랜섬웨어 공격 집단이 데이터를 유출하고 랜섬웨어 공격을 하는 발판을 신속하게 확보하기 위해 자주 사용하는 도구
제로 클릭 익스플로잇 체인 : 공격자가 아무런 작업 없이도 실행 가능
프록시로그온 : 공격자가 여러 취약점 공격해 관리자 엑세스 권한 획득
프록시로그온: 익스체 인지 서버에서 발견된 제로 데이 취약점들의 통칭. 중국 해킹 그룹 하프늄이 이 취약점을 적극 익스플로잇 했던 것으로 알려져 있다.
https://www.boannews.com/media/view.asp?idx=99455&kind=
사이버보안 프로그램으로 체인의 모든 연결고리를 끊을 수 있는 기법과 기술, 인적 자원을 마련하면 경감 가능
오픈소스 커뮤니티와 사유 소프트웨어 업체의 협력 필요
위험을 기반으로 한 종합적 사이버 위생을 실천해야
익스플로잇 체인 공격 대응 전략 수립 • 우선순위 부여
차선책-> 사이버 킬 체인 측면에서 공격을 저지할 수 있는 지점을 생각해내는 것
구글 프로젝트 제로팀 제로데이 익스플로잇 탐지 기술 개발 착수
https://www.dailysecu.com/news/articleView.html?idxno=119546
강의수강 후 강의노트
프로그래머는 반드시 알아야 되는 난독화에 대한 개념 설명
https://www.youtube.com/watch?v=QtoMvAADThQ
프로그래밍 언어로 작성된 코드를 해석하기 어렵게 만드는 작업. 역공학(Reverse Engineering)을 막는다 -> 보안을 위해
2021년 IT 보안에서 암호화가 중요한 이유 https://www.itworld.co.kr/news/177584
22억개 악성코드 학습한 AI 프로파일러-> 바이너리 역공학 기반 공격자 프로파일링 기술
https://www.hankyung.com/it/article/2021122094961
소스코드 난독화
1. 변수 이름을 의미 없는 이름으로 바꾼다.
2. 복잡한데 아무것도 하지 않는 코드를 섞는다.
3. recursion <-> iteration
4. for<-> while
바이너리 난독화
공격그룹->정교한 난독화 기술을 사용해 취약점이 탐지되지 않도록 보호하 며 IT OT 공격 가능
http://www.datanet.co.kr/news/articleView.html?idxno=168153
Webhacking.kr 12번, 14번, 16번 라이트업 작성
#challenge 12

첫 화면에 javascript challenge 라는 문구 외에는 확인할 수 있는 게 없다.!
업로드중..

소스코드를 확인해보면, 해석 불가한 이모티콘들로 이루어져있는 것을 확인할 수 있다. 이번 과제 난독화 강의로 미루어 보아 소스코드 난독화임을 유추할 수 있었다. 구글링을 통해 이는 aaencode 라는 스크립트 난독화 임을 알 수 있다.

aaencode 난독화 decoding 사이트에서 디코딩을 실행하면 다음과 같은 소스코드를 얻을 수 있다.
fromCharCode(): How to convert Unicode values to characters
charCodeAt(): Get the Unicode of the character in a string
코드를 분석해보면 for 문을 통해 enco 변수에서 1부터 121까지의 유니코드 값을 문자로 변환한다.
이후 enco_ 함수에서 문자열에 있는 문자의 유니코드를 갖고 와 return 한다. 만약 ck 의 값이 fromCharCode 들의 계산 값과 같다면 문제가 풀리게 된다.

콘솔창에서 변수와 함수 선언을 입력한 후 원하는 계산식을 입력하면 'youaregod~~~!' 라는 계산결과가 나온다. 소스코드 마지막을 보면 ck.replace 로 “=”를 “” 공백으로 변환하는 것을 알 수 있다.

따라서 youaregod~~~!.php를 입력하면 문제가 풀리게 된다.
#challenge 14

첫 화면에서 입력창과 check 제출 버튼을 볼 수 있다.

indexOf(): returns the position of the first occurrence of a value in a string [출처: w3schools]
소스코드를 통해 u1은 문서의 URL값으로 선언되었고 후 .kr 이 나타난 위치로 초기화된 후 30이 곱해짐을 알 수 있다.

첫 글자 index를 0으로 하여 .kr 까지의 글자 수를 세면 18 이다.
따라서 18에 30을 곱한 값인 540을 입력해주면 문제가 풀리게 된다.
#challenge 16

첫 화면에서 별 두 개와 클릭 시 사라지는 x 표시 외에 확인할 수 있는 게 없다.
소스코드를 살펴보면 onkeypress=“mv(event.keyCode)”를 통해
키보드 버튼을 누르면 mv 함수가 실행함을 알 수 있다. 따라서 mv 함수를 살펴보면 입력되는 값에 따라서 star 위치가 변화한다. 주석 처리로 do it 이라고 되어있는 if문을 살펴보면 cd 의 값이 124 여야함을 알 수 있다. 아스키코드 124는 문자로 | 이다.
fromCharCode() 는 위에서 살펴본 바와 같이 유니코드 값을 문자로 변환한다.
따라서 cd 의 값이 124면 URL 이 |.php 로 이동함을 알 수 있다.
URL에 |.php를 추가하거나 키보드에 | 키를 입력하면 문제가 풀린다