I do not use Firebird, but I used PostgreSQL quite widely, and I think this should work:
WHERE
DATE BETWEEN dateadd(month, -1, CURRENT_DATE - EXTRACT(DAY FROM CURRENT_DATE) + 1)
AND CURRENT_DATE - EXTRACT(DAY FROM CURRENT_DATE)
CURRENT_DATE - EXTRACT(DAY FROM CURRENT_DATE) + 1
, dateadd
-1 . , CURRENT_DATE - EXTRACT(DAY FROM CURRENT_DATE)
12/13/2017 - 13 , . . .