TGBS 토큰이 악용되었으며, 토큰 계약의 취약점으로 인해 토큰 쌍이 유출되어 해당 토큰 쌍의 TGBS 토큰 잔액이 소각되었습니다. 탈취된 자금의 총 가치는 약 15만 달러로 추정됩니다.
개요
공격자 주소
https://bscscan.com/address/0xff1db040e4f2a44305e28f8de728dabff58f01e1
Attack transaction: https://bscscan.com/tx/0xa0408770d158af99a10c60474d6433f4c20f3052e54423f4e590321341d4f2a4
취약한 컨트랙트(TGBS 토큰): https://bscscan.com/address/0xedecfa18cae067b2489a2287784a543069f950f4
익스플로잇 분석
익스플로잇 트랜잭션을 살펴보면 공격자의 공격 컨트랙트가 1웨이의 TGBS 토큰을 반복적으로 자신에게 전송하는 것을 확인할 수 있습니다. 공격을 더 자세히 분석하려면 TGBS 토큰 컨트랙트의 전송 함수를 살펴봐야 합니다.
전송 함수에서 정상적인 전송의 경우 _burnPool 내부 함수가 호출되는 것을 확인할 수 있습니다.
이는 정상적인 전송의 경우 _swapPair TGBS 토큰 잔액의 0.3%의 소량이 주기적으로 소각된다는 것을 의미합니다. 공격자가 _burnPool을 반복적으로 트리거할 수 있다면, _swapPair의 TGBS 토큰 가격을 효과적으로 조작하여 이익을 얻을 수 있습니다. 그러나 _burnPool 함수는 _burnBlock 변수에 의해 보호되며, 이 변수는 이 함수가 호출될 때마다 블록넘버와 비교되어 증가합니다.
번블록의 값을 재설정하는 유일한 함수는 컨트랙트 소유자만 호출할 수 있는 setBurnBlock입니다.
setBurnBlock 함수를 호출한 최근 트랜잭션을 추가로 분석한 결과, 컨트랙트 소유자가 2024-03-06 06:24:25에 이 함수를 호출한 것으로 확인되었습니다. 공격은 2024-03-06 07:27:55에 발생했습니다(관리자가 setBurnBlock을 호출한 지 약 1시간 후). 공격 후, 관리자에 의해 2024-03-06 07:38:37에 _burnBlock이 정상 값으로 다시 초기화되었습니다.
결론
이 익스플로잇이 러그 풀인지 아닌지는 아직 명확하지 않습니다. 하지만 중요한 내부 변수의 값을 변경할 수 있는 함수를 보안 인식이나 사용자에 대한 공개 공지 없이 호출하는 것은 어떤 경우에도 권장되지 않습니다.








