https://jihyeong-ji99hy99.tistory.com/206

 

[Ethereum] Smart Contract 보안 취약점

이더리움 보안 가이드라인 - Minimalism : 꼭 필요한 기능들만 가진 contract을 제작하자. - Code reuse : 코드를 작성할 때 library를 찾아서 써라. - Code quality : 제작된 contract은 항상 블록체인에 올라가..

jihyeong-ji99hy99.tistory.com

 

 

이더리움 보안 가이드라인

- Minimalism : 꼭 필요한 기능들만 가진 contract을 제작하자.
- Code reuse : 코드를 작성할 때 library를 찾아서 써라.
- Code quality : 제작된 contract은 항상 블록체인에 올라가 있다. 따라서 처음 만들 때 제대로 만들어서 사용하자.
- Readability : 가독성이 좋도록 작성하자.
- Test coverage : 다양한 형태의 input 값을 테스트 해보자.

 

 

대표적인 취약점

1) Reentrancy 공격

: fallback() 함수를 이용한 취약점이다. 사용자가 외부 공격자의 contract 코드를 사용했을 때, 호출한 함수가 존재하지 않는다면 공격자 contract의 fallback() 함수가 동작된다. 그럼 이때, fallback 함수 안에 악의적인 코드를 넣어 얻어걸릴 수 있는 취약점이다.

(해결방안) - transfer 함수 사용

            - 외부 call이 필요할 시에는 내부 state를 미리 다 변화시키기

            - 뮤 택스를 사용

 

2) Overflow와 Underflow

: 자료형을 사용할 때 지정된 범위를 넘어서면 언더 플로 혹은 오버플로가 발생한다. 값을 넘겨줄 때 발생할 수 있다.

(해결방안) - 직접 대입 X

             - assert() 함수로 확인하는 작업 추가

             - 안전한 library를 사용

 

3) Unexpected Ether

: 공격자가 A라는 account가 만들어지는 것과 account의 address를 추측할 수 있다면, 발생할 수 있는 취약점이다. 해당 계정이 생성되기 전에 해당 address로 이더를 전송하면 none-zero ether balance를 가진 account가 생성된다. 이러한 계정은 이더 게임에서 악용될 수도 있다. 

(해결방안) - this.balance를 직접 사용 X

 

4) Delegate Call

: 사용자가 외부 contract을 사용할 경우, 호출한 contract의 context는 본인의 context 기반이 아니라 호출한 context 기반으로 코드가 동작된다. library를 사용할 때 발생할 수도 있으며, 호출한 쪽의 state 기반으로 동작되기 때문에 원래와는 다른 용도로 동작될 수 있다.

(해결방안) - library keyword를 사용 >> 무조건 외부 state를 가져와서 사용할 수 있도록 함.

 

5) Default Visbilities

: 함수 키워드를 사용하지 않을 때 발생하는 취약점이다. 함수 키워드를 작성하지 않으면 기본적으로 public으로 지정된다. 따라서 제작자의 실수로 코드가 유출될 수도 있고, 공격자들은 디렉트로 함수로 접근할 수 있게 된다.

(해결방안) - 함수 키워드 반드시 작성

 

6) Entropy Illusion

: 난수 생성에 대한 취약점이다. 이더리움에는 난수를 생성할 수 있는 소스가 존재하지 않는다. 따라서 다양한 난수 생성과 관련한 접근이 존재했는데, 그중 하나의 예시로 미래에 생성되는 값을 가져와서 쓰고 현재 참여한 시점에서 나중의 값을 예측할 수 없기 때문에 해당 값을 난수로 사용할 수 있다는 아이디어이다. 하지만 마이닝을 통해 혹은 아예 결과를 예측할 수 없을 것이라고 단정 짓기는 어렵기 때문에 취약점이 발생할 수도 있다.

 

7) Vulnerability

: 외부 contract을 호출할 때 발생할 수 있는 문제점으로, 사용자는 호출한 contract이 본인이 사용하려는 conrract인지 확인하지 않기 때문에 다른 address가 들어가게 될 경우를 알 수 없다.

(해결방안) - 내부 distance로 작성하여 사용

            - 외부 함수 호출 코드는 public으로 작성 // 다른 사람이 이걸 쓸 때 취약하다고 판단되면 알아서 안 쓰겠지.. 마인드

 

8) Unchecked Call Return value

: call 함수나 send 함수를 사용할 때 리턴 값을 제대로 확인하지 않아 발생하는 취약점이다. 앞서 이더리움에서는 문제가 생기면 자동으로 reboot 되는 개념을 설명한 적이 있다. 따라서 해당 리턴 값을 잘 확인하지 않는 경우가 생기는데, send 함수의 예로, gas price가 부족하여 정보를 다 불러오지 못하게 되면 contract은 이를 return false로 반환한 뒤에 다음 코드를 실행시킨다. 즉, 정상작동이라는 의미이다.

(해결방안) - transfer() 함수 사용

             - return value 체크

             - withdrawal 패턴 사용

 

9) Race Condition / Front Running

: 사용자에 따라 gasprice가 높은 transaction을 먼저 받아들일 수 있다. 따라서 정답을 알아맞히는 게임에서 A가 정답을 보냈는데 B가 이를 베껴 똑같이 관리자에게 보내게 되면 관리자는 gasprice가 높은 B를 먼저 보게 된다. 

(해결방안) 두 페이지를 나눠서 제공한다. 즉 제일 처음 transaction은 데이터를 숨겨서 보내고, 확인 시에 정답 데이터를 transaction 할 수 있도록 함. (hash 함수에서와 동일)

 

 

'경로 및 정보' 카테고리의 다른 글

criminal ip  (0) 2022.05.17
Unleashing an Ultimate XSS Polyglot  (0) 2022.05.11
URL 경로 확인  (0) 2022.05.03
Wordpress 추가  (0) 2022.05.02
ipv4 대신 경로 참고  (0) 2022.04.30
블로그 이미지

wtdsoul

,

aicpschools.net

 

Aicpschools.net - traffic ranking & similars - xranks.com

Are you curious to know about Aicpschools.net ranking, valuation or traffic estimations ? or maybe you need best alternative websites to Aicpschools.net ? Get it now on Xranks !

xranks.com

 

 

'경로 및 정보' 카테고리의 다른 글

Unleashing an Ultimate XSS Polyglot  (0) 2022.05.11
[Ethereum] Smart Contract 보안 취약점 가이드  (0) 2022.05.11
Wordpress 추가  (0) 2022.05.02
ipv4 대신 경로 참고  (0) 2022.04.30
서브넷 마스크 계산 경로  (0) 2022.04.29
블로그 이미지

wtdsoul

,

 

 

https://live2skull.tistory.com/13

 

IDA - 셋팅, 플러그인 모음

IDA 6.8 버전 기준. 들어가기 전에... IDA란? Interactive DisAssembler 의 약자로, 강력한 바이너리 정적 분석 기능을 가진 툴이라 할 수 있다. 특히 같이 설치되는 Hexray Decompiler 는 왠만한 ASM 코드를 가..

live2skull.tistory.com

 

IDA 6.8 버전 기준.

 

들어가기 전에...

IDA란? Interactive DisAssembler 의 약자로, 강력한 바이너리 정적 분석 기능을 가진 툴이라 할 수 있다.

특히 같이 설치되는 Hexray Decompiler 는 왠만한 ASM 코드를 가상 C언어 Pseudocode로 변환하고, 이를 기반으로 디버깅 할 수 있는 점이 큰 장점으로 꼽히고 있으며, C++, Python을 기반으로 하는 다양한 플러그인을 제작해 사용할 수 있다.

이 외에도 찾아보면 다양한 장점이 존재한다.

 

- 셋팅

 

1. 플러그인 설치

먼저, 초기 설치 시 같이 설치되는 IDAPython을 설치하지 않았다면, 과감하게 전체 삭제 후 다시 설치하자.

물론 수동으로 나중에 따로 설치해도 되겠지만 이거 은근히 귀찮고 잘 안된다.

 

플러그인은 크게 %IDA_INSTALLED_DIR%\Plugins 에 파일을 넣어 설치형으로 사용하는 것과, 필요할 때마나 스크립트를 로드하여 사용하는 두 가지 방식이 있다.

 

! 계속해서 추가 중.

 

설치형 플러그인.

[LINK] IDATheme

- 하얀색 배경에 싸 보이는 IDA에 블랙 계열의 멋있는 테마를 적용 시켜준다.

[LINK] IDAConsonance

- IDATheme 같이 사용해 IDA-View 부분의 테마 파일. 디버거 테마는 따로 설정해야 된다. 상단의 Options -> Color -> Import 에서 로드해주면 자동 적용된다.

[LINK] IDAPatcher

- NOP패치 등 간단한 바이너리 패치 작업을 좀 더 편리하게 해준다.

[LINK] IDASploiter

- ROP Gadget, Function Pointer 검색 등 익스플로잇 작성 편의를 위한 플러그인.

[LINK] Class Informer

- Windows C++ 을 기반으로 한 WIN32 바이너리의 클래스 및 구조체를 역추적해준다. GCC 컴파일러 기반 바이너리도 일부 지원한다.

[LINK] HexRaysCodeXplorer

- Windows C++ 및 GCC 컴파일러를 기반으로 한 바이너리의 클래스 및 구조체를 역추적하고, IDA Pseudocode 플러그인에서 Virtual Pointer를 분석해 (objpointer + x) 와 같은 메모리 주소를 변수 이름으로 할당해 줄 수 있다. Class Informer 보다 더 좋은 것 같음.

 

실행형 플러그인.

[LINK] vb.idc 

- Visual Basic 6.0 컴파일러로 컴파일된 바이너리를 인식하지 못하는 IDA에 도움을 준다.

[LINK] funcap

- 디버깅 모드에서 모든 함수의 호출 과정과 인자값을 모조리 기록한다. 간단한 멜웨어 분석 시 도움될지도.

[LINK] bfltldr

- MIPS, ARM 으로 컴파일된 ELF 중 bFLT 형식을 가진 바이너리를 로드할 수 있게 해준다. 이 플러그인이 없다면, IDA는 단순 binary file로 밖에 인식하지 못함.

 

2. 설정

Options -> General -> Disassembly 에서 우측의 "Line prefixes", "Stack pointer"를 체크해 준다.

Line prefixes 는 IDA-View의 그래프 모드에서 코드 옆에 메모리 주소를 표시해 준다.

Stack pointer 는 코드 옆에 현재 스택 포인터 크기를 표시해 준다.




블로그 이미지

wtdsoul

,

Lab05-01.dll

리버싱 2022. 5. 2. 21:45

1. DllMain 주소

 

2. Import 윈도우를 이용해

Import -> getbyhostname 찾기

 

3. gethostbyname 함수는 몇 개인가? 18개

Import -> gethostbyname -> x

 

4. 0x10001757 에 위치한 gethostbyname 호출을 보면 어떤 DNS 요청이 이뤄지나?

g -> 0x10001757

 

 

 

add eax, 0D 통해 포인터 뒤를 알 수 있다.

 

 

 

6. 0x10001656 서브루틴 IDA Pro 지역변수 음(-) var_ 갯수? 

var 23개

7. 0x10001656 서브루틴 양(+) 오프셋 대응, arg_ ?

 

8. \cmd.exe /c 를 참조하는 코드 영역에서 무슨일?

-> 0x10095B20 주소에 더 가까움

9. 같은 영역 0x100101C8 에서 Dword_1008E5C4는 경로를 지정하는 전역변수로 보이고, 악코는

Dword_1008E5C4를 설정???

 

- 즉, sub_!0003695 함수의 호출 반환값(eax)를 Dword_1008E5C4에 저장한다.

- sub_10003695 함수는 GetVersionExa 함수를 호출하는 부분 윈도우 시스템 정보 확인

- Dword_1008E5C4 상호 참조 이용

 

10. 0x1000FF58에서 서브루틴으로 수백 라인은 문자를 비교 memcmp 비교다.

rotbotwork와 문자열 비교가 성공적으로 이뤄지면 어떤 현상??

 

- 문자열이 robotwork 와 일치하면 push [ebp+8] / 일치하지 않으면 jnz short loc_10010468 실행

 

11. PSLIST 익스포트?

Export > PSLIST

 

 

 

- sub_!00036C3 함수의 기능은 윈도우 버전을 확인, 이 함수 결과에 따라 분기문이 달라짐

- 각 분기문에서 sub_10006518, sub_1000664C를 각각 호출하는데 두 함수 모두 CreateToolhelp32Snapshot 이용

- 결론 프로세스 리스트 반환

 

 

18~19번

81. '18.

'리버싱' 카테고리의 다른 글

안티 리버싱  (0) 2022.10.19
IAT & EAT 정리  (0) 2022.04.27
RVA to RWA 쉽게 계산하기 [펌]  (0) 2022.04.27
EAT IAT 계산  (0) 2022.04.25
C#은 SecureSting 클래스  (0) 2021.07.09
블로그 이미지

wtdsoul

,

https://blog.alyac.co.kr/3971

 

WordPress 다운로드 관리자 플러그인의 취약점(CVE-2021-34639) 주의!

공격자가 특정 구성에서 임의의 코드를 실행할 수 있도록 하는 WordPress 다운로드 관리자 플러그인에 영향을 미치는 취약점이 발견되었습니다. 이 취약점으로 인해 작성자 및 uploa

blog.alyac.co.kr

https://www.boho.or.kr/krcert/secNoticeView.do?bulletin_writing_sequence=36292 

 

KISA 인터넷 보호나라&KrCERT

KISA 인터넷 보호나라&KrCERT

www.boho.or.kr

https://isarc.tachyonlab.com/4898

 

WordPress 플러그인 취약점 발견

20,000개 이상의 WordPress 사이트에 설치된 플러그인에서 크로스 사이트 스크립트 취약점이 발견되었다. 이는 WP HTML Mail 플러그인의 취약점으로, WP HTML Mail WordPress 이메일 템플릿 디자이너 플러그인

isarc.tachyonlab.com

 

 

'경로 및 정보' 카테고리의 다른 글

[Ethereum] Smart Contract 보안 취약점 가이드  (0) 2022.05.11
URL 경로 확인  (0) 2022.05.03
ipv4 대신 경로 참고  (0) 2022.04.30
서브넷 마스크 계산 경로  (0) 2022.04.29
PE Viewer  (0) 2022.04.27
블로그 이미지

wtdsoul

,

/wp-content/plugins/wp-file-manager/readme.txt exploit

 

https://github.com/mansoorr123/wp-file-manager-CVE-2020-25213/blob/main/wp-file-manager-exploit.sh

 

 

 

 

 

 

'' 카테고리의 다른 글

DOM 기반 XSS (펌)  (0) 2022.05.11
XSS 버그바운티 (펌)  (0) 2022.05.11
wordpress 대표적인 취약점 정리  (0) 2022.04.29
Wordpress 정리  (0) 2022.04.29
CSRF 참고 hacktricks  (0) 2022.04.23
블로그 이미지

wtdsoul

,

https://itgall.com/apple/225325

 

ios14.2 A11 기기 포함 오디세이레인 윈도우 탈옥 강좌

아이폰 & 아이패드 탈옥 정보 | GOLD 원문 https://cafe.naver.com/jbi/39414 안녕하세요 아이폰8을 14로 올려버린 GOLD입니당ㅎㅎ 계속 오류가 발생해서 그냥 탈옥을 포기해버렸었는데 방법을 알았습니다!! p

itgall.com

안녕하세요 아이폰8을 14로 올려버린 GOLD입니당ㅎㅎ

계속 오류가 발생해서 그냥 탈옥을 포기해버렸었는데 방법을 알았습니다!!

pc버전에서 작성된 글이어서 모바일에서는 가독성이 좋지 않은 점 죄송합니다 ㅠㅠ

준비물: 512MB 이상의 USB와 컴퓨터, 멘탈(?)

주의점: 아직 A11기기는 sep이 호환되지 않아 암호/터치-페이스 아이디 사용이 불가능합니다

odysseyra1n을 사용하는 이유: cydia substrate를 사용하는 checkra1n의 경우 cydia substrate의 문제로 a-bypass 트윅에서 버그가 발생하지만 libhooker를 사용하는 odysseyra1n의 경우 정상 작동하기 때문입니다. (애피님 글 참조)

(+cydia가 너무 싫기때문............... 개인 취향이긴 하지만요 ㅋㅋ)

1. odysseyn1x iso 파일을 받아주세요

https://github.com/raspberryenvoie/odysseyn1x/releases

 Releases · raspberryenvoie/odysseyn1x

Linux-based distro that lets you install checkra1n, odysseyra1n and Project Sandcastle. - raspberryenvoie/odysseyn1x

github.com

2. balenaEtcher을 설치해주세요

https://www.balena.io/etcher/

 balenaEtcher - Flash OS images to SD cards & USB drives

A cross-platform tool to flash OS images onto SD cards and USB drives safely and easily. Free and open source for makers around the world.

www.balena.io

3. balenaEtcher을 관리자 권한으로 실행하고 iso파일을 선택해서 플래싱해줍니다

4. BIOS 설정에 들어가서 부팅순서를 USB가 우선이 되게 바꿔줍니다.

5. odysseyn1x로 부팅후 checkra1n을 들어가주세요

6. checkra1n options에 들어가셔서 skip A11 BPR check 에 체크해줍니다

6-1. 혹시나 아래 사진처럼 오류가 뜨게 될 경우 다음의 두 가지를 확인해주세요. [A11기기만 해당]

1. 암호를 끄셨나요? (설정-Touch or Face ID 및 암호에서 암호를 꺼주세요)

2. 컴퓨터 신뢰 버튼을 누르셨나요?

7. 홈화면에 checkra1n 로고가 생겼을텐데 절대 누르지 말고 다음 단계로 갑니다

(누르셨다면 시디아 설치 뒤 rootfs 하고 5번부터 다시 하세요!)

8. checkra1n에서 quit을 누르시고 odysseyra1n으로 갑니다

9. 엔터를 누르면 알아서 자동으로 해줍니다

10. 홈화면에 sileo가 생겼을겁니다 들어가 줍니다.

11. Newterm 트윅을 설치합니다

12. 다음의 명령어를 입력합니다 (도움 주신 RaceiA님 감사드립니다)

su

alpine (루트 비밀번호를 변경했다면 그 비밀번호 입력하세요)

cd /etc/rc.d/

./libhooker

sbreload

혹시나 여기까지 하셨는데도 트윅이 작동하지 않는다면 다음의 방법을 따라주세요

13. 다음의 트윅들이 설치되었는지 확인하고 설치합니다

저는 sileo에 검색해도 뜨지 않아서 직접 deb 파일 설치했습니다

(신기한건 설치 후에 업데이트가 뜨더군요...?)

(그래서 deb 다운 주소와 repo 모두 남겨 놓았습니다)

①preferenceloader

repo: http://rpetri.ch/repo

 rpetri.ch repo

Setup Instructions Add Source to Cydia This repository contains beta software and is for testing purposes only! Donate with PayPal

rpetri.ch

https://www.ios-repo-updates.com/repository/artik-s-repo/package/com.artikus.preferenceloader/

 Package: PreferenceLoader • com.artikus.prefere...

Package: PreferenceLoader • com.artikus.preferenceloader • ArtikusHG repo • All iOS Cydia Repository Updates for Jailbroken iPhone iPad or iPod

www.ios-repo-updates.com

②rocketbootstrap

repo: http://rpetri.ch/repo

 rpetri.ch repo

Setup Instructions Add Source to Cydia This repository contains beta software and is for testing purposes only! Donate with PayPal

rpetri.ch

https://www.ios-repo-updates.com/repository/rpetrich-repo/package/com.rpetrich.rocketbootstrap/

 Package: RocketBootstrap • com.rpetrich.rocketb...

Package: RocketBootstrap • com.rpetrich.rocketbootstrap • rpetrich repo • All iOS Cydia Repository Updates for Jailbroken iPhone iPad or iPod

www.ios-repo-updates.com

③cephei tweek support

repo: https://repo.chariz.com/

 Chariz

Ash burrit0z FREE betterAlarm NoisyFlake $1.99 ForwardNotifier Greg0109 FREE Indy burrit0z $1.49 kai burrit0z FREE Kalm ubik $1.99 LockShut Greg0109 $0.99 Lyricify Renaitare $1.99 Magma Evo NoisyFlake $2.99 Multipla Thomz and burrit0z $1.99 NewTerm 2 HASHBANG Productions FREE Rofi Kef FREE SilentMap...

repo.chariz.com

https://www.ios-repo-updates.com/repository/chariz/package/ws.hbang.common/

 Package: Cephei Tweak Support • ws.hbang.common...

Package: Cephei Tweak Support • ws.hbang.common • Chariz • All iOS Cydia Repository Updates for Jailbroken iPhone iPad or iPod

www.ios-repo-updates.com

④libpackageinfo

repo: https://revulate.dev/

 Revulate's Repo

 

revulate.dev

오타나 잘못된 부분이 있다면 댓글로 남겨주세요

13.7까지 지원하는 오디세이도 출시했던데

다시금 탈옥글이 활성화되었으면 좋겠습니다

즐거운 탈옥라이프 되십시오 :)

 좋아요 0
블로그 이미지

wtdsoul

,

https://www.sitelike.org/similar/robtex.com/

 

 

IPv4Info - All data for ipv4 network blocks and autonomous systems

 

 

'경로 및 정보' 카테고리의 다른 글

URL 경로 확인  (0) 2022.05.03
Wordpress 추가  (0) 2022.05.02
서브넷 마스크 계산 경로  (0) 2022.04.29
PE Viewer  (0) 2022.04.27
Web Directory Fuzz  (0) 2022.04.25
블로그 이미지

wtdsoul

,

http://www.ip-calc.com/

 

IP Calc - VLSM

Maximum Subnets 2147483648 1073741824 536870912 268435456 134217728 67108864 33554432 16777216 8388608 4194304 2097152 1048576 524288 262144 131072 65536 32768 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1 Maximum Addresses 2147483646 1073741822 5

www.ip-calc.com

 

 

'경로 및 정보' 카테고리의 다른 글

Wordpress 추가  (0) 2022.05.02
ipv4 대신 경로 참고  (0) 2022.04.30
PE Viewer  (0) 2022.04.27
Web Directory Fuzz  (0) 2022.04.25
Tomcat 에러 정보 제거  (0) 2022.03.23
블로그 이미지

wtdsoul

,

https://grip.news/archives/765

 

WordPress xmlrpc.php DDOS / exploit / 공격 과 대처 방법 - GRIP.News

WordPress 의 xmlrpc.php 는 “XML-RPC”를 사용하기 위한 어플리케이션이다. XML-RPC는 RPC프로토콜의 일종으로, 워드프레스에선 HTTP 프로토콜을 아용해 XML 로 인코딩한 데이터를 교류하는. 즉, 일반적으

grip.news

 

http://dobiho.com/50828/

 

워드프레스 xmlrpc.php 공격 차단하기 - dobiho on HCI

워드프레스는 백악관사이트나 대기업 홈페이지나 신문사 사이트, 쇼핑몰들도 사용하는 세계에서 가장 많이 사용하는 CMS 솔루션이다. 소스코드가 공개되어 있고 개방형 구조라 테마나 플러그인

dobiho.com

https://ko.0xzx.com/20200902111528.html

 

[Security Circle]긴급 워드 프레스 파일 관리자 플러그인, 심각한 제로 데이 취약점 폭발 - 블록 체인

연구원들은 화요일에 해커들이 700,000 개 이상의 활성 설치가있는 WordPress 플러그인 인 파일 관리자를 실행하는 웹 사이트에서 명령과 악성 스크립트를 실행할 수있는 취약점을 적극적으로 악용

ko.0xzx.com

 

 

https://blog.naver.com/PostView.naver?blogId=adtkorea77&logNo=222540322127&parentCategoryNo=&categoryNo=63&viewDate=&isShowPopularPosts=true&from=search 

 

[Special Report] 원격코드실행 취약점 분석 및 공격 흔적 식별 방안 #9

■ 개요 파일 업로드 취약점은 파일 업로드 기능을 악용하여 시스템 명령 실행 및 시스템 구조를 파악할 수...

blog.naver.com

 

https://github.com/w4fz5uck5/wp-file-manager-0day

 

 

https://www.XXX.org/wp-content/plugins/wp-file-manager/readme.txt (버전 정보 확인)

wordpress/wp-content/plugins/wp-file-manager/lib/php/connector.minimal.php 업로드 경로

'' 카테고리의 다른 글

XSS 버그바운티 (펌)  (0) 2022.05.11
Wordpress file uplad exploit 확인  (0) 2022.05.02
Wordpress 정리  (0) 2022.04.29
CSRF 참고 hacktricks  (0) 2022.04.23
graphql insql  (0) 2022.04.23
블로그 이미지

wtdsoul

,